Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2008-12-31 20:11:42 +0300
committerTon Roosendaal <ton@blender.org>2008-12-31 20:11:42 +0300
commitc9b60a7b64c75bf999cb8390b328aa42e7a5f53f (patch)
treeebd8dc28b62913d6fa7d675c6d21ac31c5c3119e /source/blender/windowmanager
parentb65a3e9337ac1d9c3870e0e04ee96090bc7e9b23 (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.h2
-rw-r--r--source/blender/windowmanager/intern/wm_files.c3
-rw-r--r--source/blender/windowmanager/intern/wm_init_exit.c16
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 */