]> granicus.if.org Git - python/commitdiff
SF bug #1400822, Extended version of _curses over{lay,write} does not work
authorNeal Norwitz <nnorwitz@gmail.com>
Tue, 10 Jan 2006 07:05:44 +0000 (07:05 +0000)
committerNeal Norwitz <nnorwitz@gmail.com>
Tue, 10 Jan 2006 07:05:44 +0000 (07:05 +0000)
Fix signatures to conform to doc (also fixed ungetmouse()).

Will backport.

Lib/test/test_curses.py
Misc/ACKS
Misc/NEWS
Modules/_cursesmodule.c

index 6f843ad60002967106fefe412f8ba274ee90a4bb..419d8fc280fae0db55e8cb37eaf273978ece12cb 100644 (file)
@@ -5,7 +5,8 @@
 # does call every method and function.
 #
 # Functions not tested: {def,reset}_{shell,prog}_mode, getch(), getstr(),
-# getmouse(), ungetmouse(), init_color()
+# init_color()
+# Only called, not tested: getmouse(), ungetmouse()
 #
 
 import curses, sys, tempfile, os
@@ -106,6 +107,8 @@ def window_funcs(stdscr):
     stdscr.notimeout(1)
     win2.overlay(win)
     win2.overwrite(win)
+    win2.overlay(win, 1, 2, 3, 3, 2, 1)
+    win2.overwrite(win, 1, 2, 3, 3, 2, 1)
     stdscr.redrawln(1,2)
 
     stdscr.scrollok(1)
@@ -201,6 +204,9 @@ def module_funcs(stdscr):
     if hasattr(curses, 'getmouse'):
         curses.mousemask(curses.BUTTON1_PRESSED)
         curses.mouseinterval(10)
+        # just verify these don't cause errors
+        m = curses.getmouse()
+        curses.ungetmouse(*m)
 
 def unit_tests():
     from curses import ascii
index b717a3643aef0b8f21fe78b56047d87d525cba8c..42fa4098ed9402d6be424cfe5919e4b46c824952 100644 (file)
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -552,6 +552,7 @@ Kirill Simonov
 Nathan Paul Simons
 Janne Sinkkonen
 George Sipe
+J. Sipprell
 Kragen Sitaker
 Christopher Smith
 Gregory P. Smith
index 78cf145cf0fe8d8a578a257c57a3f0439589692b..d5a2361016ff294852ff25a88e42df8d04bfe5cd 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -216,6 +216,10 @@ Core and builtins
 Extension Modules
 -----------------
 
+- Bug #1400822, _curses over{lay,write} doesn't work when passing 6 ints.
+  Also fix ungetmouse() which did not accept arguments properly.
+  The code now conforms to the documented signature.
+
 - Bug #1400115, Fix segfault when calling curses.panel.userptr()
   without prior setting of the userptr.
 
index 2d7f6e0eebbfa2ae549883f102a09b32656e3e72..176f024d29365870d23cb4dba63e9ae0845656aa 100644 (file)
@@ -1163,7 +1163,7 @@ PyCursesWindow_Overlay(PyCursesWindowObject *self, PyObject *args)
            return NULL;
        break;
     case 7:
-       if (!PyArg_ParseTuple(args, "(O!iiiiii);window object, int, int, int, int, int, int",
+       if (!PyArg_ParseTuple(args, "O!iiiiii;window object, int, int, int, int, int, int",
                              &PyCursesWindow_Type, &temp, &sminrow, &smincol,
                              &dminrow, &dmincol, &dmaxrow, &dmaxcol))
            return NULL;
@@ -1201,7 +1201,7 @@ PyCursesWindow_Overwrite(PyCursesWindowObject *self, PyObject *args)
            return NULL;
        break;
     case 7:
-       if (!PyArg_ParseTuple(args, "(O!iiiiii);window object, int, int, int, int, int, int",
+       if (!PyArg_ParseTuple(args, "O!iiiiii;window object, int, int, int, int, int, int",
                              &PyCursesWindow_Type, &temp, &sminrow, &smincol,
                              &dminrow, &dmincol, &dmaxrow, &dmaxcol))
            return NULL;
@@ -1674,7 +1674,7 @@ PyCurses_UngetMouse(PyObject *self, PyObject *args)
        MEVENT event;
 
        PyCursesInitialised
-       if (!PyArg_ParseTuple(args, "(hiiil)",
+       if (!PyArg_ParseTuple(args, "hiiil",
                             &event.id, 
                             &event.x, &event.y, &event.z,
                             (int *) &event.bstate))