Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source/blender/windowmanager/intern/wm_event_system.c10
-rw-r--r--source/blender/windowmanager/wm_event_system.h3
2 files changed, 6 insertions, 7 deletions
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c
index 54f6e040c4a..a307cd5d0f0 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -2393,7 +2393,7 @@ static int wm_handlers_do_intern(bContext *C, wmEvent *event, ListBase *handlers
action |= wm_handler_ui_call(C, handler, event, always_pass);
}
}
- else if (handler->type == WM_HANDLER_FILESELECT) {
+ else if (handler->op_is_fileselect) {
if (!wm->is_interface_locked) {
/* screen context changes here */
action |= wm_handler_fileselect_call(C, handlers, handler, event);
@@ -3220,7 +3220,7 @@ void WM_event_add_fileselect(bContext *C, wmOperator *op)
for (handler = win->modalhandlers.first; handler; handler = handlernext) {
handlernext = handler->next;
- if (handler->type == WM_HANDLER_FILESELECT) {
+ if (handler->op_is_fileselect) {
bScreen *screen = CTX_wm_screen(C);
bool cancel_handler = true;
@@ -3247,7 +3247,7 @@ void WM_event_add_fileselect(bContext *C, wmOperator *op)
handler = MEM_callocN(sizeof(wmEventHandler), "fileselect handler");
- handler->type = WM_HANDLER_FILESELECT;
+ handler->op_is_fileselect = true;
handler->op = op;
handler->op_area = CTX_wm_area(C);
handler->op_region = CTX_wm_region(C);
@@ -3307,7 +3307,7 @@ void WM_event_modal_handler_area_replace(wmWindow *win, const ScrArea *old_area,
{
for (wmEventHandler *handler = win->modalhandlers.first; handler; handler = handler->next) {
/* fileselect handler is quite special... it needs to keep old area stored in handler, so don't change it */
- if ((handler->op_area == old_area) && (handler->type != WM_HANDLER_FILESELECT)) {
+ if ((handler->op_area == old_area) && (handler->op_is_fileselect == false)) {
handler->op_area = new_area;
}
}
@@ -3492,7 +3492,7 @@ void WM_event_remove_area_handler(ListBase *handlers, void *area)
for (handler = handlers->first; handler; handler = nexthandler) {
nexthandler = handler->next;
- if (handler->type != WM_HANDLER_FILESELECT) {
+ if (handler->op_is_fileselect == false) {
if (handler->ui_area == area) {
BLI_remlink(handlers, handler);
wm_event_free_handler(handler);
diff --git a/source/blender/windowmanager/wm_event_system.h b/source/blender/windowmanager/wm_event_system.h
index d5942ba8682..8b245d05612 100644
--- a/source/blender/windowmanager/wm_event_system.h
+++ b/source/blender/windowmanager/wm_event_system.h
@@ -43,7 +43,6 @@ struct wmEventHandler_KeymapFn {
typedef struct wmEventHandler {
struct wmEventHandler *next, *prev;
- char type; /* WM_HANDLER_DEFAULT, ... */
char flag; /* WM_HANDLER_BLOCKING, ... */
/* keymap handler */
@@ -55,6 +54,7 @@ typedef struct wmEventHandler {
struct bToolRef *keymap_tool;
/* modal operator handler */
+ bool op_is_fileselect;
wmOperator *op; /* for derived/modal handlers */
struct ScrArea *op_area; /* for derived/modal handlers */
struct ARegion *op_region; /* for derived/modal handlers */
@@ -77,7 +77,6 @@ typedef struct wmEventHandler {
/* custom types for handlers, for signaling, freeing */
enum {
WM_HANDLER_DEFAULT,
- WM_HANDLER_FILESELECT,
};
/* wm_event_system.c */