@@ -639,12 +639,19 @@ PyCursesWindow_Border(PyCursesWindowObject *self, PyObject *args)
639639static PyObject *
640640PyCursesWindow_Box (PyCursesWindowObject * self , PyObject * args )
641641{
642+ PyObject * temp1 , * temp2 ;
642643 chtype ch1 = 0 ,ch2 = 0 ;
643644 switch (PyTuple_Size (args )){
644645 case 0 : break ;
645646 default :
646- if (!PyArg_ParseTuple (args ,"ll;vertint,horint " , & ch1 , & ch2 ))
647+ if (!PyArg_ParseTuple (args ,"OO;verch,horch " , & temp1 , & temp2 ))
647648 return NULL ;
649+ if (!PyCurses_ConvertToChtype (self , temp1 , & ch1 )) {
650+ return NULL ;
651+ }
652+ if (!PyCurses_ConvertToChtype (self , temp2 , & ch2 )) {
653+ return NULL ;
654+ }
648655 }
649656 box (self -> win ,ch1 ,ch2 );
650657 Py_INCREF (Py_None );
@@ -1826,24 +1833,30 @@ PyCurses_GetMouse(PyObject *self)
18261833 PyErr_SetString (PyCursesError , "getmouse() returned ERR" );
18271834 return NULL ;
18281835 }
1829- return Py_BuildValue ("(hiiil )" ,
1836+ return Py_BuildValue ("(hiiik )" ,
18301837 (short )event .id ,
1831- event .x , event .y , event .z ,
1832- (long ) event .bstate );
1838+ ( int ) event .x , ( int ) event .y , ( int ) event .z ,
1839+ (unsigned long ) event .bstate );
18331840}
18341841
18351842static PyObject *
18361843PyCurses_UngetMouse (PyObject * self , PyObject * args )
18371844{
18381845 MEVENT event ;
1846+ short id ;
1847+ int x , y , z ;
1848+ unsigned long bstate ;
18391849
18401850 PyCursesInitialised ;
1841- if (!PyArg_ParseTuple (args , "hiiil" ,
1842- & event .id ,
1843- & event .x , & event .y , & event .z ,
1844- (int * ) & event .bstate ))
1851+ if (!PyArg_ParseTuple (args , "hiiik" ,
1852+ & id , & x , & y , & z , & bstate ))
18451853 return NULL ;
18461854
1855+ event .id = id ;
1856+ event .x = x ;
1857+ event .y = y ;
1858+ event .z = z ;
1859+ event .bstate = bstate ;
18471860 return PyCursesCheckERR (ungetmouse (& event ), "ungetmouse" );
18481861}
18491862#endif
@@ -2200,14 +2213,15 @@ PyCurses_MouseInterval(PyObject *self, PyObject *args)
22002213static PyObject *
22012214PyCurses_MouseMask (PyObject * self , PyObject * args )
22022215{
2203- int newmask ;
2216+ unsigned long newmask ;
22042217 mmask_t oldmask , availmask ;
22052218
22062219 PyCursesInitialised ;
2207- if (!PyArg_ParseTuple (args ,"i ;mousemask" ,& newmask ))
2220+ if (!PyArg_ParseTuple (args ,"k ;mousemask" ,& newmask ))
22082221 return NULL ;
2209- availmask = mousemask (newmask , & oldmask );
2210- return Py_BuildValue ("(ll)" , (long )availmask , (long )oldmask );
2222+ availmask = mousemask ((mmask_t )newmask , & oldmask );
2223+ return Py_BuildValue ("(kk)" ,
2224+ (unsigned long )availmask , (unsigned long )oldmask );
22112225}
22122226#endif
22132227
0 commit comments