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:
authorAntony Riakiotakis <kalast@gmail.com>2014-09-18 17:58:37 +0400
committerAntony Riakiotakis <kalast@gmail.com>2014-09-18 18:02:40 +0400
commit98a78963be78c1dfd02e1930e2db72deca121d1a (patch)
tree03eb32bf462b7b305dcc1998feb444f41582efb6
parent070ce416b9b4714d1805eb920384d447648ed71e (diff)
Fix crashes with timers.
Incorrectly accessing the menu pointer, set it to NULL before doing the tests. We don't restore the menu pointer because it is invalid by the time the operator ends.
-rw-r--r--source/blender/windowmanager/intern/wm_operators.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c
index bc79879f1f4..523eeb380aa 100644
--- a/source/blender/windowmanager/intern/wm_operators.c
+++ b/source/blender/windowmanager/intern/wm_operators.c
@@ -4354,6 +4354,7 @@ static void redraw_timer_window_swap(bContext *C)
{
wmWindow *win = CTX_wm_window(C);
ScrArea *sa;
+ CTX_wm_menu_set(C, NULL);
for (sa = CTX_wm_screen(C)->areabase.first; sa; sa = sa->next)
ED_area_tag_redraw(sa);
@@ -4392,7 +4393,8 @@ static int redraw_timer_exec(bContext *C, wmOperator *op)
}
else if (type == 1) {
wmWindow *win = CTX_wm_window(C);
-
+ CTX_wm_menu_set(C, NULL);
+
ED_region_tag_redraw(ar);
wm_draw_update(C);
@@ -4405,6 +4407,8 @@ static int redraw_timer_exec(bContext *C, wmOperator *op)
ScrArea *sa_back = CTX_wm_area(C);
ARegion *ar_back = CTX_wm_region(C);
+ CTX_wm_menu_set(C, NULL);
+
for (sa = CTX_wm_screen(C)->areabase.first; sa; sa = sa->next) {
ARegion *ar_iter;
CTX_wm_area_set(C, sa);