mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 07:31:38 +00:00 
			
		
		
		
	SF bug #1400822, Extended version of _curses over{lay,write} does not work
Fix signatures to conform to doc (also fixed ungetmouse()). Will backport.
This commit is contained in:
		
							parent
							
								
									fc76d633e8
								
							
						
					
					
						commit
						88bbd73d07
					
				
					 4 changed files with 15 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -552,6 +552,7 @@ Kirill Simonov
 | 
			
		|||
Nathan Paul Simons
 | 
			
		||||
Janne Sinkkonen
 | 
			
		||||
George Sipe
 | 
			
		||||
J. Sipprell
 | 
			
		||||
Kragen Sitaker
 | 
			
		||||
Christopher Smith
 | 
			
		||||
Gregory P. Smith
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue