From 48f232df73000c88d9eb6cf516d23afaa19f30f3 Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Sat, 19 Feb 2011 11:59:01 +0000 Subject: Bugfix #26009 Paint cursors were drawing on top of pop-up menus in 3D window, only in triple-buffer mode though. --- source/blender/windowmanager/intern/wm_draw.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'source/blender/windowmanager/intern/wm_draw.c') diff --git a/source/blender/windowmanager/intern/wm_draw.c b/source/blender/windowmanager/intern/wm_draw.c index 526e9bf029b..64779a162eb 100644 --- a/source/blender/windowmanager/intern/wm_draw.c +++ b/source/blender/windowmanager/intern/wm_draw.c @@ -560,7 +560,7 @@ static void wm_method_draw_triple(bContext *C, wmWindow *win) bScreen *screen= win->screen; ScrArea *sa; ARegion *ar; - int copytex= 0; + int copytex= 0, paintcursor= 1; if(win->drawdata) { glClearColor(0, 0, 0, 0); @@ -616,6 +616,8 @@ static void wm_method_draw_triple(bContext *C, wmWindow *win) CTX_wm_menu_set(C, ar); ED_region_do_draw(C, ar); CTX_wm_menu_set(C, NULL); + /* when a menu is being drawn, don't do the paint cursors */ + paintcursor= 0; } } @@ -623,7 +625,7 @@ static void wm_method_draw_triple(bContext *C, wmWindow *win) if(win->gesture.first) wm_gesture_draw(win); - if(wm->paintcursors.first) { + if(paintcursor && wm->paintcursors.first) { for(sa= screen->areabase.first; sa; sa= sa->next) { for(ar=sa->regionbase.first; ar; ar= ar->next) { if(ar->swinid == screen->subwinactive) { -- cgit v1.2.3