@@ -911,12 +911,19 @@ PyCursesWindow_Border(PyCursesWindowObject *self, PyObject *args)
911911static PyObject *
912912PyCursesWindow_Box (PyCursesWindowObject * self , PyObject * args )
913913{
914+ PyObject * temp1 , * temp2 ;
914915 chtype ch1 = 0 ,ch2 = 0 ;
915916 switch (PyTuple_Size (args )){
916917 case 0 : break ;
917918 default :
918- if (!PyArg_ParseTuple (args ,"ll;vertint,horint " , & ch1 , & ch2 ))
919+ if (!PyArg_ParseTuple (args ,"OO;verch,horch " , & temp1 , & temp2 ))
919920 return NULL ;
921+ if (!PyCurses_ConvertToChtype (self , temp1 , & ch1 )) {
922+ return NULL ;
923+ }
924+ if (!PyCurses_ConvertToChtype (self , temp2 , & ch2 )) {
925+ return NULL ;
926+ }
920927 }
921928 box (self -> win ,ch1 ,ch2 );
922929 Py_RETURN_NONE ;
@@ -2268,24 +2275,30 @@ PyCurses_GetMouse(PyObject *self)
22682275 PyErr_SetString (PyCursesError , "getmouse() returned ERR" );
22692276 return NULL ;
22702277 }
2271- return Py_BuildValue ("(hiiil )" ,
2278+ return Py_BuildValue ("(hiiik )" ,
22722279 (short )event .id ,
2273- event .x , event .y , event .z ,
2274- (long ) event .bstate );
2280+ ( int ) event .x , ( int ) event .y , ( int ) event .z ,
2281+ (unsigned long ) event .bstate );
22752282}
22762283
22772284static PyObject *
22782285PyCurses_UngetMouse (PyObject * self , PyObject * args )
22792286{
22802287 MEVENT event ;
2288+ short id ;
2289+ int x , y , z ;
2290+ unsigned long bstate ;
22812291
22822292 PyCursesInitialised ;
2283- if (!PyArg_ParseTuple (args , "hiiil" ,
2284- & event .id ,
2285- & event .x , & event .y , & event .z ,
2286- (int * ) & event .bstate ))
2293+ if (!PyArg_ParseTuple (args , "hiiik" ,
2294+ & id , & x , & y , & z , & bstate ))
22872295 return NULL ;
22882296
2297+ event .id = id ;
2298+ event .x = x ;
2299+ event .y = y ;
2300+ event .z = z ;
2301+ event .bstate = bstate ;
22892302 return PyCursesCheckERR (ungetmouse (& event ), "ungetmouse" );
22902303}
22912304#endif
@@ -2669,14 +2682,15 @@ PyCurses_MouseInterval(PyObject *self, PyObject *args)
26692682static PyObject *
26702683PyCurses_MouseMask (PyObject * self , PyObject * args )
26712684{
2672- int newmask ;
2685+ unsigned long newmask ;
26732686 mmask_t oldmask , availmask ;
26742687
26752688 PyCursesInitialised ;
2676- if (!PyArg_ParseTuple (args ,"i ;mousemask" ,& newmask ))
2689+ if (!PyArg_ParseTuple (args ,"k ;mousemask" ,& newmask ))
26772690 return NULL ;
2678- availmask = mousemask (newmask , & oldmask );
2679- return Py_BuildValue ("(ll)" , (long )availmask , (long )oldmask );
2691+ availmask = mousemask ((mmask_t )newmask , & oldmask );
2692+ return Py_BuildValue ("(kk)" ,
2693+ (unsigned long )availmask , (unsigned long )oldmask );
26802694}
26812695#endif
26822696
0 commit comments