@@ -912,12 +912,19 @@ PyCursesWindow_Border(PyCursesWindowObject *self, PyObject *args)
912912static PyObject *
913913PyCursesWindow_Box (PyCursesWindowObject * self , PyObject * args )
914914{
915+ PyObject * temp1 , * temp2 ;
915916 chtype ch1 = 0 ,ch2 = 0 ;
916917 switch (PyTuple_Size (args )){
917918 case 0 : break ;
918919 default :
919- if (!PyArg_ParseTuple (args ,"ll;vertint,horint " , & ch1 , & ch2 ))
920+ if (!PyArg_ParseTuple (args ,"OO;verch,horch " , & temp1 , & temp2 ))
920921 return NULL ;
922+ if (!PyCurses_ConvertToChtype (self , temp1 , & ch1 )) {
923+ return NULL ;
924+ }
925+ if (!PyCurses_ConvertToChtype (self , temp2 , & ch2 )) {
926+ return NULL ;
927+ }
921928 }
922929 box (self -> win ,ch1 ,ch2 );
923930 Py_INCREF (Py_None );
@@ -2285,24 +2292,30 @@ PyCurses_GetMouse(PyObject *self)
22852292 PyErr_SetString (PyCursesError , "getmouse() returned ERR" );
22862293 return NULL ;
22872294 }
2288- return Py_BuildValue ("(hiiil )" ,
2295+ return Py_BuildValue ("(hiiik )" ,
22892296 (short )event .id ,
2290- event .x , event .y , event .z ,
2291- (long ) event .bstate );
2297+ ( int ) event .x , ( int ) event .y , ( int ) event .z ,
2298+ (unsigned long ) event .bstate );
22922299}
22932300
22942301static PyObject *
22952302PyCurses_UngetMouse (PyObject * self , PyObject * args )
22962303{
22972304 MEVENT event ;
2305+ short id ;
2306+ int x , y , z ;
2307+ unsigned long bstate ;
22982308
22992309 PyCursesInitialised ;
2300- if (!PyArg_ParseTuple (args , "hiiil" ,
2301- & event .id ,
2302- & event .x , & event .y , & event .z ,
2303- (int * ) & event .bstate ))
2310+ if (!PyArg_ParseTuple (args , "hiiik" ,
2311+ & id , & x , & y , & z , & bstate ))
23042312 return NULL ;
23052313
2314+ event .id = id ;
2315+ event .x = x ;
2316+ event .y = y ;
2317+ event .z = z ;
2318+ event .bstate = bstate ;
23062319 return PyCursesCheckERR (ungetmouse (& event ), "ungetmouse" );
23072320}
23082321#endif
@@ -2701,14 +2714,15 @@ PyCurses_MouseInterval(PyObject *self, PyObject *args)
27012714static PyObject *
27022715PyCurses_MouseMask (PyObject * self , PyObject * args )
27032716{
2704- int newmask ;
2717+ unsigned long newmask ;
27052718 mmask_t oldmask , availmask ;
27062719
27072720 PyCursesInitialised ;
2708- if (!PyArg_ParseTuple (args ,"i ;mousemask" ,& newmask ))
2721+ if (!PyArg_ParseTuple (args ,"k ;mousemask" ,& newmask ))
27092722 return NULL ;
2710- availmask = mousemask (newmask , & oldmask );
2711- return Py_BuildValue ("(ll)" , (long )availmask , (long )oldmask );
2723+ availmask = mousemask ((mmask_t )newmask , & oldmask );
2724+ return Py_BuildValue ("(kk)" ,
2725+ (unsigned long )availmask , (unsigned long )oldmask );
27122726}
27132727#endif
27142728
0 commit comments