[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [33138] trunk/blender/source/blender/ editors/space_view3d/view3d_toolbar.c: Bugfix #24767
Ton Roosendaal
ton at blender.org
Wed Nov 17 17:25:30 CET 2010
Revision: 33138
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=33138
Author: ton
Date: 2010-11-17 17:25:30 +0100 (Wed, 17 Nov 2010)
Log Message:
-----------
Bugfix #24767
Operator redo in 3D window now moves context to the main region,
makes knife cut work (and probably others)
Todo: this callback should be shared with other redo panels. On the
todo list.
Modified Paths:
--------------
trunk/blender/source/blender/editors/space_view3d/view3d_toolbar.c
Modified: trunk/blender/source/blender/editors/space_view3d/view3d_toolbar.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_toolbar.c 2010-11-17 15:35:45 UTC (rev 33137)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_toolbar.c 2010-11-17 16:25:30 UTC (rev 33138)
@@ -64,23 +64,34 @@
/* ******************* view3d space & buttons ************** */
-/* op->invoke */
+/* op->exec */
+/* XXX DUPLICATE CODE */
static void redo_cb(bContext *C, void *arg_op, void *UNUSED(arg2))
{
wmOperator *lastop= arg_op;
if(lastop) {
+ ARegion *ar= CTX_wm_region(C);
+ ARegion *ar1= BKE_area_find_region_type(CTX_wm_area(C), RGN_TYPE_WINDOW);
int retval;
+ if(ar1)
+ CTX_wm_region_set(C, ar1);
+
if (G.f & G_DEBUG)
printf("operator redo %s\n", lastop->type->name);
+
ED_undo_pop_op(C, lastop);
retval= WM_operator_repeat(C, lastop);
+
if((retval & OPERATOR_FINISHED)==0) {
if (G.f & G_DEBUG)
printf("operator redo failed %s\n", lastop->type->name);
ED_undo_redo(C);
}
+
+ /* set region back */
+ CTX_wm_region_set(C, ar);
}
}
More information about the Bf-blender-cvs
mailing list