Revision: 23331
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23331
Author:   blendix
Date:     2009-09-18 14:43:36 +0200 (Fri, 18 Sep 2009)

Log Message:
-----------
2.5: Handlers are now evaluated in a different order, fixing some
issues like Shift+R (repeat last) not giving capital R in the text
editor. There is also new modal handler list at the window level,
and the API call will always add it to that one now, since modal
handlers were not used in other levels.

The order used to be:
* window modal + keymap
* area modal + keymap
* region modal + keymap

Now it is:
* window modal
* region keymap
* area keymap
* window keymap

Modified Paths:
--------------
    trunk/blender/source/blender/blenloader/intern/readfile.c
    trunk/blender/source/blender/editors/animation/anim_markers.c
    trunk/blender/source/blender/editors/animation/anim_ops.c
    trunk/blender/source/blender/editors/armature/editarmature_sketch.c
    trunk/blender/source/blender/editors/armature/poselib.c
    trunk/blender/source/blender/editors/gpencil/gpencil_paint.c
    trunk/blender/source/blender/editors/interface/interface_handlers.c
    trunk/blender/source/blender/editors/interface/interface_panel.c
    trunk/blender/source/blender/editors/interface/interface_regions.c
    trunk/blender/source/blender/editors/interface/view2d_ops.c
    trunk/blender/source/blender/editors/mesh/loopcut.c
    trunk/blender/source/blender/editors/physics/editparticle.c
    trunk/blender/source/blender/editors/screen/screen_ops.c
    trunk/blender/source/blender/editors/sculpt_paint/paint_image.c
    trunk/blender/source/blender/editors/sculpt_paint/paint_vertex.c
    trunk/blender/source/blender/editors/sculpt_paint/sculpt.c
    trunk/blender/source/blender/editors/space_image/image_ops.c
    trunk/blender/source/blender/editors/space_node/node_edit.c
    trunk/blender/source/blender/editors/space_text/text_ops.c
    trunk/blender/source/blender/editors/space_view3d/view3d_edit.c
    trunk/blender/source/blender/editors/transform/transform_ops.c
    trunk/blender/source/blender/editors/uvedit/uvedit_unwrap_ops.c
    trunk/blender/source/blender/makesdna/DNA_windowmanager_types.h
    trunk/blender/source/blender/windowmanager/WM_api.h
    trunk/blender/source/blender/windowmanager/intern/wm_event_system.c
    trunk/blender/source/blender/windowmanager/intern/wm_init_exit.c
    trunk/blender/source/blender/windowmanager/intern/wm_operators.c
    trunk/blender/source/blender/windowmanager/intern/wm_window.c

Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c   2009-09-18 
11:25:52 UTC (rev 23330)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c   2009-09-18 
12:43:36 UTC (rev 23331)
@@ -4371,6 +4371,7 @@
                win->timers.first= win->timers.last= NULL;
                win->queue.first= win->queue.last= NULL;
                win->handlers.first= win->handlers.last= NULL;
+               win->modalhandlers.first= win->modalhandlers.last= NULL;
                win->subwindows.first= win->subwindows.last= NULL;
                win->gesture.first= win->gesture.last= NULL;
 

Modified: trunk/blender/source/blender/editors/animation/anim_markers.c
===================================================================
--- trunk/blender/source/blender/editors/animation/anim_markers.c       
2009-09-18 11:25:52 UTC (rev 23330)
+++ trunk/blender/source/blender/editors/animation/anim_markers.c       
2009-09-18 12:43:36 UTC (rev 23331)
@@ -458,7 +458,7 @@
                mm->event_type= evt->type;
                
                /* add temp handler */
-               WM_event_add_modal_handler(C, &CTX_wm_window(C)->handlers, op);
+               WM_event_add_modal_handler(C, op);
                
                /* reset frs delta */
                RNA_int_set(op->ptr, "frames", 0);

Modified: trunk/blender/source/blender/editors/animation/anim_ops.c
===================================================================
--- trunk/blender/source/blender/editors/animation/anim_ops.c   2009-09-18 
11:25:52 UTC (rev 23330)
+++ trunk/blender/source/blender/editors/animation/anim_ops.c   2009-09-18 
12:43:36 UTC (rev 23331)
@@ -162,7 +162,7 @@
        change_frame_apply(C, op);
        
        /* add temp handler */
-       WM_event_add_modal_handler(C, &CTX_wm_window(C)->handlers, op);
+       WM_event_add_modal_handler(C, op);
 
        return OPERATOR_RUNNING_MODAL;
 }

Modified: trunk/blender/source/blender/editors/armature/editarmature_sketch.c
===================================================================
--- trunk/blender/source/blender/editors/armature/editarmature_sketch.c 
2009-09-18 11:25:52 UTC (rev 23330)
+++ trunk/blender/source/blender/editors/armature/editarmature_sketch.c 
2009-09-18 12:43:36 UTC (rev 23331)
@@ -2618,7 +2618,7 @@
 
        sk_draw_stroke(C, sketch, sketch->active_stroke, dd, snap);
 
-       WM_event_add_modal_handler(C, &CTX_wm_window(C)->handlers, op);
+       WM_event_add_modal_handler(C, op);
 
        return OPERATOR_RUNNING_MODAL;
 }
@@ -2644,7 +2644,7 @@
        sk_start_draw_gesture(sketch);
        sk_draw_stroke(C, sketch, sketch->gesture, dd, snap);
 
-       WM_event_add_modal_handler(C, &CTX_wm_window(C)->handlers, op);
+       WM_event_add_modal_handler(C, op);
 
        return OPERATOR_RUNNING_MODAL;
 }

Modified: trunk/blender/source/blender/editors/armature/poselib.c
===================================================================
--- trunk/blender/source/blender/editors/armature/poselib.c     2009-09-18 
11:25:52 UTC (rev 23330)
+++ trunk/blender/source/blender/editors/armature/poselib.c     2009-09-18 
12:43:36 UTC (rev 23331)
@@ -1411,7 +1411,7 @@
        poselib_preview_apply(C, op);
        
        /* add temp handler if we're running as a modal operator */
-       WM_event_add_modal_handler(C, &CTX_wm_window(C)->handlers, op);
+       WM_event_add_modal_handler(C, op);
 
        return OPERATOR_RUNNING_MODAL;
 }

Modified: trunk/blender/source/blender/editors/gpencil/gpencil_paint.c
===================================================================
--- trunk/blender/source/blender/editors/gpencil/gpencil_paint.c        
2009-09-18 11:25:52 UTC (rev 23330)
+++ trunk/blender/source/blender/editors/gpencil/gpencil_paint.c        
2009-09-18 12:43:36 UTC (rev 23331)
@@ -1341,7 +1341,7 @@
        }
        
        /* add a modal handler for this operator, so that we can then draw 
continuous strokes */
-       WM_event_add_modal_handler(C, &CTX_wm_window(C)->handlers, op);
+       WM_event_add_modal_handler(C, op);
        return OPERATOR_RUNNING_MODAL;
 }
 

Modified: trunk/blender/source/blender/editors/interface/interface_handlers.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_handlers.c 
2009-09-18 11:25:52 UTC (rev 23330)
+++ trunk/blender/source/blender/editors/interface/interface_handlers.c 
2009-09-18 12:43:36 UTC (rev 23331)
@@ -3660,11 +3660,11 @@
        if(!(but->block->handle && but->block->handle->popup)) {
                if(button_modal_state(state)) {
                        if(!button_modal_state(data->state))
-                               WM_event_add_ui_handler(C, 
&data->window->handlers, ui_handler_region_menu, NULL, data);
+                               WM_event_add_ui_handler(C, 
&data->window->modalhandlers, ui_handler_region_menu, NULL, data);
                }
                else {
                        if(button_modal_state(data->state))
-                               
WM_event_remove_ui_handler(&data->window->handlers, ui_handler_region_menu, 
NULL, data);
+                               
WM_event_remove_ui_handler(&data->window->modalhandlers, 
ui_handler_region_menu, NULL, data);
                }
        }
 
@@ -4600,7 +4600,7 @@
                uiPopupBlockHandle temp= *menu;
                
                ui_popup_block_free(C, menu);
-               WM_event_remove_ui_handler(&CTX_wm_window(C)->handlers, 
ui_handler_popup, ui_handler_remove_popup, menu);
+               WM_event_remove_ui_handler(&CTX_wm_window(C)->modalhandlers, 
ui_handler_popup, ui_handler_remove_popup, menu);
 
                if(temp.menuretval == UI_RETURN_OK) {
                        if(temp.popup_func)

Modified: trunk/blender/source/blender/editors/interface/interface_panel.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_panel.c    
2009-09-18 11:25:52 UTC (rev 23330)
+++ trunk/blender/source/blender/editors/interface/interface_panel.c    
2009-09-18 12:43:36 UTC (rev 23331)
@@ -1400,14 +1400,14 @@
                MEM_freeN(data);
                pa->activedata= NULL;
 
-               WM_event_remove_ui_handler(&win->handlers, ui_handler_panel, 
ui_handler_remove_panel, pa);
+               WM_event_remove_ui_handler(&win->modalhandlers, 
ui_handler_panel, ui_handler_remove_panel, pa);
        }
        else {
                if(!data) {
                        data= MEM_callocN(sizeof(uiHandlePanelData), 
"uiHandlePanelData");
                        pa->activedata= data;
 
-                       WM_event_add_ui_handler(C, &win->handlers, 
ui_handler_panel, ui_handler_remove_panel, pa);
+                       WM_event_add_ui_handler(C, &win->modalhandlers, 
ui_handler_panel, ui_handler_remove_panel, pa);
                }
 
                if(ELEM(state, PANEL_STATE_ANIMATION, PANEL_STATE_DRAG))

Modified: trunk/blender/source/blender/editors/interface/interface_regions.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_regions.c  
2009-09-18 11:25:52 UTC (rev 23330)
+++ trunk/blender/source/blender/editors/interface/interface_regions.c  
2009-09-18 12:43:36 UTC (rev 23331)
@@ -2275,7 +2275,7 @@
        if(!but) {
                handle->popup= 1;
 
-               UI_add_popup_handlers(C, &window->handlers, handle);
+               UI_add_popup_handlers(C, &window->modalhandlers, handle);
                WM_event_add_mousemove(C);
        }
        
@@ -2332,7 +2332,7 @@
        menu= ui_popup_block_create(C, NULL, NULL, NULL, ui_block_func_POPUP, 
pup);
        menu->popup= 1;
        
-       UI_add_popup_handlers(C, &window->handlers, menu);
+       UI_add_popup_handlers(C, &window->modalhandlers, menu);
        WM_event_add_mousemove(C);
        
        MEM_freeN(pup);
@@ -2493,7 +2493,7 @@
        handle->optype= (opname)? WM_operatortype_find(opname, 0): NULL;
        handle->opcontext= opcontext;
        
-       UI_add_popup_handlers(C, &window->handlers, handle);
+       UI_add_popup_handlers(C, &window->modalhandlers, handle);
        WM_event_add_mousemove(C);
 }
 
@@ -2516,7 +2516,7 @@
        handle->cancel_func= confirm_cancel_operator;
        handle->opcontext= opcontext;
        
-       UI_add_popup_handlers(C, &window->handlers, handle);
+       UI_add_popup_handlers(C, &window->modalhandlers, handle);
        WM_event_add_mousemove(C);
 }
 

Modified: trunk/blender/source/blender/editors/interface/view2d_ops.c
===================================================================
--- trunk/blender/source/blender/editors/interface/view2d_ops.c 2009-09-18 
11:25:52 UTC (rev 23330)
+++ trunk/blender/source/blender/editors/interface/view2d_ops.c 2009-09-18 
12:43:36 UTC (rev 23331)
@@ -210,7 +210,7 @@
                WM_cursor_modal(window, BC_NSEW_SCROLLCURSOR);
        
        /* add temp handler */
-       WM_event_add_modal_handler(C, &window->handlers, op);
+       WM_event_add_modal_handler(C, op);
 
        return OPERATOR_RUNNING_MODAL;
 }
@@ -764,7 +764,7 @@
                WM_cursor_modal(window, BC_NSEW_SCROLLCURSOR);
        
        /* add temp handler */
-       WM_event_add_modal_handler(C, &window->handlers, op);
+       WM_event_add_modal_handler(C, op);
 
        return OPERATOR_RUNNING_MODAL;
 }
@@ -1292,7 +1292,7 @@
                        v2d->scroll_ui |= V2D_SCROLL_V_ACTIVE;
                
                /* still ok, so can add */
-               WM_event_add_modal_handler(C, &CTX_wm_window(C)->handlers, op);
+               WM_event_add_modal_handler(C, op);
                return OPERATOR_RUNNING_MODAL;
        }
        else {

Modified: trunk/blender/source/blender/editors/mesh/loopcut.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/loopcut.c 2009-09-18 11:25:52 UTC 
(rev 23330)
+++ trunk/blender/source/blender/editors/mesh/loopcut.c 2009-09-18 12:43:36 UTC 
(rev 23331)
@@ -328,7 +328,7 @@
                return OPERATOR_CANCELLED;
        
        /* add a modal handler for this operator - handles loop selection */
-       WM_event_add_modal_handler(C, &CTX_wm_window(C)->handlers, op);
+       WM_event_add_modal_handler(C, op);
 
        lcd = op->customdata;
        lcd->vc.mval[0] = evt->mval[0];
@@ -356,7 +356,7 @@
                return OPERATOR_CANCELLED;
        
        /* add a modal handler for this operator - handles loop selection */
-       WM_event_add_modal_handler(C, &CTX_wm_window(C)->handlers, op);
+       WM_event_add_modal_handler(C, op);
 
        lcd = op->customdata;
        lcd->vc.mval[0] = evt->mval[0];

Modified: trunk/blender/source/blender/editors/physics/editparticle.c
===================================================================
--- trunk/blender/source/blender/editors/physics/editparticle.c 2009-09-18 
11:25:52 UTC (rev 23330)
+++ trunk/blender/source/blender/editors/physics/editparticle.c 2009-09-18 
12:43:36 UTC (rev 23331)
@@ -3352,7 +3352,7 @@
        
        brush_edit_apply_event(C, op, event);
 
-       WM_event_add_modal_handler(C, &CTX_wm_window(C)->handlers, op);
+       WM_event_add_modal_handler(C, op);
 
        return OPERATOR_RUNNING_MODAL;
 }

Modified: trunk/blender/source/blender/editors/screen/screen_ops.c
===================================================================
--- trunk/blender/source/blender/editors/screen/screen_ops.c    2009-09-18 
11:25:52 UTC (rev 23330)
+++ trunk/blender/source/blender/editors/screen/screen_ops.c    2009-09-18 
12:43:36 UTC (rev 23331)
@@ -456,7 +456,7 @@
        }
        else {
                /* add modal handler */

@@ Diff output truncated at 10240 characters. @@

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

Reply via email to