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