diff options
author | Nicholas Bishop <nicholasbishop@gmail.com> | 2007-12-19 00:56:17 +0300 |
---|---|---|
committer | Nicholas Bishop <nicholasbishop@gmail.com> | 2007-12-19 00:56:17 +0300 |
commit | 5518aaaace192f9d9fea351faab1acd17845e6a5 (patch) | |
tree | c9c76a0c55137ec94253d70ecbb89528c49b0283 | |
parent | 84b58f8653218ff10f701cfef402c4f699a9b0d2 (diff) |
Fixed bug #6711, Retopo problem when maximizing 3d view and still painting
Caused by some incorrect usage of the current v3d during updates
-rw-r--r-- | source/blender/src/drawview.c | 2 | ||||
-rw-r--r-- | source/blender/src/editscreen.c | 6 | ||||
-rw-r--r-- | source/blender/src/retopo.c | 7 | ||||
-rw-r--r-- | source/blender/src/toets.c | 1 |
4 files changed, 5 insertions, 11 deletions
diff --git a/source/blender/src/drawview.c b/source/blender/src/drawview.c index 19df0f67297..b3ffd1263ad 100644 --- a/source/blender/src/drawview.c +++ b/source/blender/src/drawview.c @@ -3065,6 +3065,8 @@ void drawview3dspace(ScrArea *sa, void *spacedata) fdrawXORcirc((float)car[0], (float)car[1], sculptmode_brush()->size); } } + + retopo_paint_view_update(v3d); retopo_draw_paint_lines(); if(!G.obedit && OBACT && G.f&G_PARTICLEEDIT && area_is_active_area(v3d->area)){ diff --git a/source/blender/src/editscreen.c b/source/blender/src/editscreen.c index b843d820ba5..741b6ab6d13 100644 --- a/source/blender/src/editscreen.c +++ b/source/blender/src/editscreen.c @@ -2443,9 +2443,6 @@ void area_fullscreen(void) /* with curarea */ wich_cursor(newa); } - if(curarea->full) - retopo_force_update(); - /* there's also events in queue for this, but we call fullscreen for render output now, and that doesn't go back to queue. Bad code, but doesn't hurt... (ton) */ for(sa= G.curscreen->areabase.first; sa; sa= sa->next) { @@ -2455,8 +2452,7 @@ void area_fullscreen(void) /* with curarea */ /* bad code #2: setscreen() ends with first area active. fullscreen render assumes this too */ curarea= sc->areabase.first; - if(!curarea->full) - retopo_force_update(); + retopo_force_update(); } static void area_autoplayscreen(void) diff --git a/source/blender/src/retopo.c b/source/blender/src/retopo.c index 287909da470..60be622e3ad 100644 --- a/source/blender/src/retopo.c +++ b/source/blender/src/retopo.c @@ -452,11 +452,8 @@ void retopo_force_update() if(vd) { if(vd->depths) vd->depths->damaged= 1; retopo_queue_updates(vd); - if(retopo_mesh_paint_check() && vd->retopo_view_data) { - /* Force redraw */ - drawview3dspace(vd->area, vd); - retopo_paint_view_update(vd); - } + if(retopo_mesh_paint_check() && vd->retopo_view_data) + allqueue(REDRAWVIEW3D, 0); } } } diff --git a/source/blender/src/toets.c b/source/blender/src/toets.c index 27a39537988..f2c50ffc2a4 100644 --- a/source/blender/src/toets.c +++ b/source/blender/src/toets.c @@ -384,7 +384,6 @@ void persptoetsen(unsigned short event) if(G.vd->depths) G.vd->depths->damaged= 1; retopo_queue_updates(G.vd); - retopo_force_update(); if(preview3d_event) BIF_view3d_previewrender_signal(curarea, PR_DBASE|PR_DISPRECT); |