diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-02-19 08:57:36 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-02-19 08:57:36 +0300 |
commit | eb4acd50648c072ba14dc6a62703434e84ce7cba (patch) | |
tree | 6e56a74e733ab651fe059a38c46cbe7e6e0754ee | |
parent | e617e6395bb94a4ffac04b50996473404761111a (diff) |
Cleanup: return specific handler types
-rw-r--r-- | source/blender/windowmanager/WM_api.h | 8 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_event_system.c | 14 |
2 files changed, 12 insertions, 10 deletions
diff --git a/source/blender/windowmanager/WM_api.h b/source/blender/windowmanager/WM_api.h index 77b1f9781df..ae4f4cb338c 100644 --- a/source/blender/windowmanager/WM_api.h +++ b/source/blender/windowmanager/WM_api.h @@ -59,6 +59,7 @@ struct wmDropBox; struct wmEvent; struct wmEventHandler; struct wmEventHandler_Keymap; +struct wmEventHandler_UI; struct wmGesture; struct wmJob; struct wmMsgSubscribeKey; @@ -207,7 +208,7 @@ void WM_event_set_keymap_handler_callback( typedef int (*wmUIHandlerFunc)(struct bContext *C, const struct wmEvent *event, void *userdata); typedef void (*wmUIHandlerRemoveFunc)(struct bContext *C, void *userdata); -struct wmEventHandler *WM_event_add_ui_handler( +struct wmEventHandler_UI *WM_event_add_ui_handler( const struct bContext *C, ListBase *handlers, wmUIHandlerFunc ui_handle, wmUIHandlerRemoveFunc ui_remove, void *userdata, const char flag); @@ -221,7 +222,7 @@ void WM_event_free_ui_handler_all( struct bContext *C, ListBase *handlers, wmUIHandlerFunc ui_handle, wmUIHandlerRemoveFunc ui_remove); -struct wmEventHandler *WM_event_add_modal_handler(struct bContext *C, struct wmOperator *op); +struct wmEventHandler_Op *WM_event_add_modal_handler(struct bContext *C, struct wmOperator *op); void WM_event_modal_handler_area_replace(wmWindow *win, const struct ScrArea *old_area, struct ScrArea *new_area); void WM_event_modal_handler_region_replace(wmWindow *win, const struct ARegion *old_region, struct ARegion *new_region); @@ -236,7 +237,8 @@ enum { WM_HANDLER_DO_FREE = (1 << 7), /* handler tagged to be freed in wm_handlers_do() */ }; -struct wmEventHandler *WM_event_add_dropbox_handler(ListBase *handlers, ListBase *dropboxes); +struct wmEventHandler_Dropbox *WM_event_add_dropbox_handler( + ListBase *handlers, ListBase *dropboxes); /* mouse */ void WM_event_add_mousemove(const struct bContext *C); diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index 766b220fd51..53c4d4fa5e6 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -3307,7 +3307,7 @@ static void WM_event_set_handler_flag(wmEventHandler *handler, int flag) } #endif -wmEventHandler *WM_event_add_modal_handler(bContext *C, wmOperator *op) +wmEventHandler_Op *WM_event_add_modal_handler(bContext *C, wmOperator *op) { wmEventHandler_Op *handler = MEM_callocN(sizeof(*handler), __func__); handler->base.type = WM_HANDLER_TYPE_OP; @@ -3334,7 +3334,7 @@ wmEventHandler *WM_event_add_modal_handler(bContext *C, wmOperator *op) WM_window_status_area_tag_redraw(win); } - return &handler->base; + return handler; } /** @@ -3444,7 +3444,7 @@ void WM_event_set_keymap_handler_callback( handler->keymap_callback.user_data = user_data; } -wmEventHandler *WM_event_add_ui_handler( +wmEventHandler_UI *WM_event_add_ui_handler( const bContext *C, ListBase *handlers, wmUIHandlerFunc handle_fn, wmUIHandlerRemoveFunc remove_fn, void *user_data, const char flag) @@ -3470,7 +3470,7 @@ wmEventHandler *WM_event_add_ui_handler( BLI_addhead(handlers, handler); - return &handler->base; + return handler; } /* set "postpone" for win->modalhandlers, this is in a running for () loop in wm_handlers_do() */ @@ -3524,14 +3524,14 @@ void WM_event_free_ui_handler_all( } } -wmEventHandler *WM_event_add_dropbox_handler(ListBase *handlers, ListBase *dropboxes) +wmEventHandler_Dropbox *WM_event_add_dropbox_handler(ListBase *handlers, ListBase *dropboxes) { /* only allow same dropbox once */ for (wmEventHandler *handler_base = handlers->first; handler_base; handler_base = handler_base->next) { if (handler_base->type == WM_HANDLER_TYPE_DROPBOX) { wmEventHandler_Dropbox *handler = (wmEventHandler_Dropbox *)handler_base; if (handler->dropboxes == dropboxes) { - return &handler->base; + return handler; } } } @@ -3543,7 +3543,7 @@ wmEventHandler *WM_event_add_dropbox_handler(ListBase *handlers, ListBase *dropb handler->dropboxes = dropboxes; BLI_addhead(handlers, handler); - return &handler->base; + return handler; } /* XXX solution works, still better check the real cause (ton) */ |