Changeset View
Changeset View
Standalone View
Standalone View
source/blender/windowmanager/intern/wm_event_system.c
| Show First 20 Lines • Show All 435 Lines • ▼ Show 20 Lines | for (note = wm->queue.first; note; note = next) { | ||||
| if (note->window == win) { | if (note->window == win) { | ||||
| if (note->category == NC_SCREEN) { | if (note->category == NC_SCREEN) { | ||||
| if (note->data == ND_WORKSPACE_SET) { | if (note->data == ND_WORKSPACE_SET) { | ||||
| WorkSpace *ref_ws = note->reference; | WorkSpace *ref_ws = note->reference; | ||||
| UI_popup_handlers_remove_all(C, &win->modalhandlers); | UI_popup_handlers_remove_all(C, &win->modalhandlers); | ||||
| WM_window_set_active_workspace(C, win, ref_ws); | WM_window_set_active_workspace(C, win, ref_ws); | ||||
| if (G.debug & G_DEBUG_EVENTS) { | CLOG_INFO(WM_LOG_EVENTS, "Workspace set %p", note->reference); | ||||
| printf("%s: Workspace set %p\n", __func__, note->reference); | |||||
| } | |||||
| } | } | ||||
| else if (note->data == ND_WORKSPACE_DELETE) { | else if (note->data == ND_WORKSPACE_DELETE) { | ||||
| WorkSpace *workspace = note->reference; | WorkSpace *workspace = note->reference; | ||||
| ED_workspace_delete(workspace, CTX_data_main(C), C, wm); // XXX hrms, think this over! | ED_workspace_delete(workspace, CTX_data_main(C), C, wm); // XXX hrms, think this over! | ||||
| if (G.debug & G_DEBUG_EVENTS) { | CLOG_INFO(WM_LOG_EVENTS, "Workspace delete %p", workspace); | ||||
| printf("%s: Workspace delete %p\n", __func__, workspace); | |||||
| } | |||||
| } | } | ||||
| else if (note->data == ND_LAYOUTBROWSE) { | else if (note->data == ND_LAYOUTBROWSE) { | ||||
| bScreen *ref_screen = BKE_workspace_layout_screen_get(note->reference); | bScreen *ref_screen = BKE_workspace_layout_screen_get(note->reference); | ||||
| /* free popup handlers only [#35434] */ | /* free popup handlers only [#35434] */ | ||||
| UI_popup_handlers_remove_all(C, &win->modalhandlers); | UI_popup_handlers_remove_all(C, &win->modalhandlers); | ||||
| ED_screen_change(C, ref_screen); /* XXX hrms, think this over! */ | ED_screen_change(C, ref_screen); /* XXX hrms, think this over! */ | ||||
| ▲ Show 20 Lines • Show All 468 Lines • ▼ Show 20 Lines | else if (op->type->flag & OPTYPE_UNDO_GROUPED) { | ||||
| ED_undo_grouped_push_op(C, op); | ED_undo_grouped_push_op(C, op); | ||||
| if (repeat == 0) { | if (repeat == 0) { | ||||
| hud_status = CLEAR; | hud_status = CLEAR; | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| if (repeat == 0) { | if (repeat == 0) { | ||||
| if (G.debug & G_DEBUG_WM) { | CLOG_STR_INFO_N(WM_LOG_OPERATORS, WM_operator_pystring(C, op, false, true)); | ||||
| char *buf = WM_operator_pystring(C, op, false, true); | |||||
| BKE_report(CTX_wm_reports(C), RPT_OPERATOR, buf); | |||||
| MEM_freeN(buf); | |||||
| } | |||||
| if (wm_operator_register_check(wm, op->type)) { | if (wm_operator_register_check(wm, op->type)) { | ||||
| /* take ownership of reports (in case python provided own) */ | /* take ownership of reports (in case python provided own) */ | ||||
| op->reports->flag |= RPT_FREE; | op->reports->flag |= RPT_FREE; | ||||
| wm_operator_register(C, op); | wm_operator_register(C, op); | ||||
| WM_operator_region_active_win_set(C); | WM_operator_region_active_win_set(C); | ||||
| ▲ Show 20 Lines • Show All 4,183 Lines • Show Last 20 Lines | |||||