diff options
author | Ton Roosendaal <ton@blender.org> | 2008-12-31 20:11:42 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2008-12-31 20:11:42 +0300 |
commit | c9b60a7b64c75bf999cb8390b328aa42e7a5f53f (patch) | |
tree | ebd8dc28b62913d6fa7d675c6d21ac31c5c3119e /source/blender/windowmanager | |
parent | b65a3e9337ac1d9c3870e0e04ee96090bc7e9b23 (diff) |
2.5
So, editmode mesh is back! :)
At the moment only TABkey works and mouse select, 1 vertex at a
time. More will follow of course.
Note for the devs:
- G.editMesh has been removed, be careful with old code.
- EditMesh now is property of Mesh itself
Although it means unlimited editmodes, for migration purposes we
better stick to 1 "obedit" per scene, which is in Context too
- G.obedit will get removed soon, so use CTX_data_edit_object(C)
Or if you can't, just scene->obedit for now
- Also removed the CTX_data_edit_mesh(), this has no meaning
anymore. EditMesh is not context senstitive anymore, only the
edit-object for time being is.
- Martin: I've already tucked some EditMesh pointer in T and
removed all G.editMesh there.
Diffstat (limited to 'source/blender/windowmanager')
-rw-r--r-- | source/blender/windowmanager/WM_types.h | 2 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_files.c | 3 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_init_exit.c | 16 |
3 files changed, 10 insertions, 11 deletions
diff --git a/source/blender/windowmanager/WM_types.h b/source/blender/windowmanager/WM_types.h index f54fc9881ae..5b49e0dd590 100644 --- a/source/blender/windowmanager/WM_types.h +++ b/source/blender/windowmanager/WM_types.h @@ -152,6 +152,7 @@ typedef struct wmNotifier { #define ND_SEQUENCER (6<<16) #define ND_OB_ACTIVE (7<<16) #define ND_OB_SELECT (8<<16) +#define ND_OB_EDIT (9<<16) /* Object */ #define ND_TRANSFORM (16<<16) @@ -159,6 +160,7 @@ typedef struct wmNotifier { #define ND_POSE (18<<16) #define ND_BONE_ACTIVE (19<<16) #define ND_BONE_SELECT (20<<16) +#define ND_GEOM_SELECT (21<<16) /* subtype, 256 entries too */ #define NOTE_SUBTYPE 0x0000FF00 diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c index 00f1d1358b0..466500a7aa1 100644 --- a/source/blender/windowmanager/intern/wm_files.c +++ b/source/blender/windowmanager/intern/wm_files.c @@ -396,6 +396,8 @@ static void wm_window_match_init(bContext *C, ListBase *wmlist) } } + ED_editors_exit(C); + return; if(wm==NULL) return; if(G.fileflags & G_FILE_NO_UI) return; @@ -517,6 +519,7 @@ void WM_read_file(bContext *C, char *name, ReportList *reports) ListBase wmbase; /* put aside screens to match with persistant windows later */ + /* also exit screens and editors */ wm_window_match_init(C, &wmbase); retval= BKE_read_file(C, name, NULL, reports); diff --git a/source/blender/windowmanager/intern/wm_init_exit.c b/source/blender/windowmanager/intern/wm_init_exit.c index ee6c841bf5a..15001ea5333 100644 --- a/source/blender/windowmanager/intern/wm_init_exit.c +++ b/source/blender/windowmanager/intern/wm_init_exit.c @@ -83,6 +83,7 @@ #include "wm_window.h" #include "ED_screen.h" +#include "ED_util.h" #include "UI_interface.h" @@ -190,6 +191,10 @@ void WM_exit(bContext *C) } wm_operatortype_free(); + /* all non-screen and non-space stuff editors did, like editmode */ + if(C) + ED_editors_exit(C); + free_ttfont(); /* bke_font.h */ #ifdef WITH_VERSE @@ -203,17 +208,6 @@ void WM_exit(bContext *C) // if (G.background == 0) // sound_end_all_sounds(); - if(G.obedit) { - if(G.obedit->type==OB_FONT) { -// free_editText(); - } -// else if(G.obedit->type==OB_MBALL) BLI_freelistN(&editelems); -// free_editMesh(G.editMesh); - } - -// free_editLatt(); -// free_editArmature(); -// free_posebuf(); /* before free_blender so py's gc happens while library still exists */ /* needed at least for a rare sigsegv that can happen in pydrivers */ |