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;
        


_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to