[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23233] trunk/blender/source/blender: 2. 5 Bugfixes

Brecht Van Lommel brecht at blender.org
Mon Sep 14 22:48:05 CEST 2009


Revision: 23233
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23233
Author:   blendix
Date:     2009-09-14 22:48:05 +0200 (Mon, 14 Sep 2009)

Log Message:
-----------
2.5 Bugfixes

#19302: the spin operator did not redo correct when changing properties.
Actually the problem was somewhere else, the search menu always did an
unnecessary undo push, which conflicted with an operator undo push with
the same name. Only in the case of "Spin" was this noticed, because it's
name is so short and you actually type it completely.
#19328: swapping areas could crash when dragging mouse outside the window.

Attempted fix for #19331, #19335 as well, where backspace and some other
keys give square characters instead of working as expected. Couldn't
reproducable here, so please test.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/include/UI_interface.h
    trunk/blender/source/blender/editors/interface/interface.c
    trunk/blender/source/blender/editors/interface/interface_handlers.c
    trunk/blender/source/blender/editors/interface/interface_layout.c
    trunk/blender/source/blender/editors/screen/screen_ops.c
    trunk/blender/source/blender/windowmanager/intern/wm_event_system.c

Modified: trunk/blender/source/blender/editors/include/UI_interface.h
===================================================================
--- trunk/blender/source/blender/editors/include/UI_interface.h	2009-09-14 20:17:56 UTC (rev 23232)
+++ trunk/blender/source/blender/editors/include/UI_interface.h	2009-09-14 20:48:05 UTC (rev 23233)
@@ -146,6 +146,7 @@
 #define UI_BUT_DRIVEN		(1<<22)
 #define UI_BUT_INACTIVE		(1<<23)
 #define UI_BUT_LAST_ACTIVE	(1<<24)
+#define UI_BUT_UNDO			(1<<25)
 
 #define UI_PANEL_WIDTH			340
 #define UI_COMPACT_PANEL_WIDTH	160

Modified: trunk/blender/source/blender/editors/interface/interface.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface.c	2009-09-14 20:17:56 UTC (rev 23232)
+++ trunk/blender/source/blender/editors/interface/interface.c	2009-09-14 20:48:05 UTC (rev 23233)
@@ -2264,6 +2264,9 @@
 		}
 	}
 
+	if(!ELEM7(but->type, BLOCK, BUT, LABEL, PULLDOWN, ROUNDBOX, LISTBOX, SEARCH_MENU))
+		but->flag |= UI_BUT_UNDO;
+
 	BLI_addtail(&block->buttons, but);
 	
 	if(block->curlayout)

Modified: trunk/blender/source/blender/editors/interface/interface_handlers.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_handlers.c	2009-09-14 20:17:56 UTC (rev 23232)
+++ trunk/blender/source/blender/editors/interface/interface_handlers.c	2009-09-14 20:48:05 UTC (rev 23233)
@@ -292,8 +292,7 @@
 	uiAfterFunc *after;
 	char *str= NULL;
 
-	if ELEM6(but->type, BLOCK, BUT, LABEL, PULLDOWN, ROUNDBOX, LISTBOX);
-	else {
+	if(but->flag & UI_BUT_UNDO) {
 		/* define which string to use for undo */
 		if ELEM(but->type, LINK, INLINK) str= "Add button link";
 		else if ELEM(but->type, MENU, ICONTEXTROW) str= but->drawstr;

Modified: trunk/blender/source/blender/editors/interface/interface_layout.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_layout.c	2009-09-14 20:17:56 UTC (rev 23232)
+++ trunk/blender/source/blender/editors/interface/interface_layout.c	2009-09-14 20:48:05 UTC (rev 23233)
@@ -1107,7 +1107,7 @@
 		but->hardmax= MAX2(but->hardmax, 256);
 		but->rnasearchpoin= *searchptr;
 		but->rnasearchprop= searchprop;
-		but->flag |= UI_ICON_LEFT|UI_TEXT_LEFT;
+		but->flag |= UI_ICON_LEFT|UI_TEXT_LEFT|UI_BUT_UNDO;
 
 		uiButSetSearchFunc(but, rna_search_cb, but, NULL, NULL);
 	}

Modified: trunk/blender/source/blender/editors/screen/screen_ops.c
===================================================================
--- trunk/blender/source/blender/editors/screen/screen_ops.c	2009-09-14 20:17:56 UTC (rev 23232)
+++ trunk/blender/source/blender/editors/screen/screen_ops.c	2009-09-14 20:48:05 UTC (rev 23233)
@@ -605,7 +605,7 @@
 			break;
 		case LEFTMOUSE: /* release LMB */
 			if(event->val==0) {
-				if(sad->sa1 == sad->sa2) {
+				if(!sad->sa2 || sad->sa1 == sad->sa2) {
 
 					return area_swap_cancel(C, op);
 				}

Modified: trunk/blender/source/blender/windowmanager/intern/wm_event_system.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_event_system.c	2009-09-14 20:17:56 UTC (rev 23232)
+++ trunk/blender/source/blender/windowmanager/intern/wm_event_system.c	2009-09-14 20:48:05 UTC (rev 23233)
@@ -715,7 +715,7 @@
 
 	/* the matching rules */
 	if(kmitype==KM_TEXTINPUT)
-		if(ISKEYBOARD(winevent->type)) return 1;
+		if(ISKEYBOARD(winevent->type) && winevent->ascii) return 1;
 	if(kmitype!=KM_ANY)
 		if(winevent->type!=kmitype) return 0;
 	





More information about the Bf-blender-cvs mailing list