[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [26324] trunk/blender/source/blender: - duplicate window crasheing when it was full screen
Campbell Barton
ideasman42 at gmail.com
Wed Jan 27 10:16:36 CET 2010
Revision: 26324
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26324
Author: campbellbarton
Date: 2010-01-27 10:16:28 +0100 (Wed, 27 Jan 2010)
Log Message:
-----------
- duplicate window crasheing when it was full screen
- keymap item was missing NULL check crash
- editmode object in inactive layer crash
Modified Paths:
--------------
trunk/blender/source/blender/editors/interface/interface_handlers.c
trunk/blender/source/blender/editors/object/object_edit.c
trunk/blender/source/blender/windowmanager/intern/wm_operators.c
Modified: trunk/blender/source/blender/editors/interface/interface_handlers.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_handlers.c 2010-01-27 07:31:53 UTC (rev 26323)
+++ trunk/blender/source/blender/editors/interface/interface_handlers.c 2010-01-27 09:16:28 UTC (rev 26324)
@@ -3803,9 +3803,9 @@
IDProperty *prop= (but->opptr)? but->opptr->data: NULL;
int w = uiLayoutGetWidth(layout);
wmKeyMap *km;
+ wmKeyMapItem *kmi= NULL;
int kmi_id= WM_key_event_operator_id(C, but->optype->idname, but->opcontext, prop, 1, &km);
- wmKeyMapItem *kmi;
-
+
if (kmi_id)
kmi= WM_keymap_item_find_id(km, kmi_id);
Modified: trunk/blender/source/blender/editors/object/object_edit.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_edit.c 2010-01-27 07:31:53 UTC (rev 26323)
+++ trunk/blender/source/blender/editors/object/object_edit.c 2010-01-27 09:16:28 UTC (rev 26324)
@@ -500,7 +500,7 @@
Object *ob = CTX_data_active_object(C);
/* covers proxies too */
- if(ob->data==NULL || ((ID *)ob->data)->lib)
+ if(ELEM(NULL, ob, ob->data) || ((ID *)ob->data)->lib)
return 0;
return ob && (ob->type == OB_MESH || ob->type == OB_ARMATURE ||
Modified: trunk/blender/source/blender/windowmanager/intern/wm_operators.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_operators.c 2010-01-27 07:31:53 UTC (rev 26323)
+++ trunk/blender/source/blender/windowmanager/intern/wm_operators.c 2010-01-27 09:16:28 UTC (rev 26324)
@@ -1241,6 +1241,18 @@
/* ************ window / screen operator definitions ************** */
+/* this poll functions is needed in place of WM_operator_winactive
+ * while it crashes on full screen */
+static int wm_operator_winactive_normal(bContext *C)
+{
+ wmWindow *win= CTX_wm_window(C);
+
+ if(win==NULL || win->screen==NULL || win->screen->full != SCREENNORMAL)
+ return 0;
+
+ return 1;
+}
+
static void WM_OT_window_duplicate(wmOperatorType *ot)
{
ot->name= "Duplicate Window";
@@ -1248,7 +1260,7 @@
ot->description="Duplicate the current Blender window.";
ot->exec= wm_window_duplicate_op;
- ot->poll= WM_operator_winactive;
+ ot->poll= wm_operator_winactive_normal;
}
static void WM_OT_save_homefile(wmOperatorType *ot)
More information about the Bf-blender-cvs
mailing list