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>2009-01-31 16:30:56 +0300
committerTon Roosendaal <ton@blender.org>2009-01-31 16:30:56 +0300
commit86a2a0f6947feab469a108eb7eb875fa5637d036 (patch)
treeff033132556d35991a488e6dc98807fa5b06b625 /source/blender/windowmanager
parent607a56cb7a0e5a7fef2214d60a723dd67e8209ab (diff)
2.5
Edit Mesh: - Added back "Edge Shortest Path select" It now also does regular selection, more fun! It's mapped to CTRL+click now, and makes or clears selections between current and previously activated edge. Seam/Sharp/etc marking is a toolsetting mode still. These options cannot become properties easily, because the tool uses the properties of selected edge to clear... - Removed a whole bunch of G.f flags, related to mesh drawing. It's all now local in me->drawflags. Here's the list of removed old globals: G_DRAWEDGES G_DRAWFACES G_DRAWNORMALS G_DRAW_VNORMALS G_ALLEDGES G_HIDDENEDGES G_DRAWCREASES G_DRAWSEAMS G_DRAWSHARP G_DRAWBWEIGHTS G_DRAW_EDGELEN G_DRAW_FACEAREA G_DRAW_EDGEANG
Diffstat (limited to 'source/blender/windowmanager')
-rw-r--r--source/blender/windowmanager/intern/wm_event_system.c15
-rw-r--r--source/blender/windowmanager/intern/wm_operators.c31
-rw-r--r--source/blender/windowmanager/intern/wm_window.c15
-rw-r--r--source/blender/windowmanager/wm_event_system.h1
-rw-r--r--source/blender/windowmanager/wm_window.h1
5 files changed, 25 insertions, 38 deletions
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c
index 7df47ce3462..3d7cb25b134 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -72,14 +72,6 @@ void wm_event_add(wmWindow *win, wmEvent *event_to_add)
BLI_addtail(&win->queue, event);
}
-wmEvent *wm_event_next(wmWindow *win)
-{
- wmEvent *event= win->queue.first;
-
- if(event) BLI_remlink(&win->queue, event);
- return event;
-}
-
static void wm_event_free(wmEvent *event)
{
if(event->customdata && event->customdatafree)
@@ -789,9 +781,9 @@ void wm_event_do_handlers(bContext *C)
if( win->screen==NULL )
wm_event_free_all(win);
- while( (event=wm_event_next(win)) ) {
+ while( (event= win->queue.first) ) {
int action;
-
+
CTX_wm_window_set(C, win);
/* we let modal handlers get active area/region, also wm_paintcursor_test needs it */
@@ -852,6 +844,9 @@ void wm_event_do_handlers(bContext *C)
win->eventstate->prevy= event->y;
}
}
+
+ /* unlink and free here, blender-quit then frees all */
+ BLI_remlink(&win->queue, event);
wm_event_free(event);
}
diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c
index a496ebc3bea..55d0fd4ab46 100644
--- a/source/blender/windowmanager/intern/wm_operators.c
+++ b/source/blender/windowmanager/intern/wm_operators.c
@@ -461,6 +461,15 @@ static void WM_OT_window_fullscreen_toggle(wmOperatorType *ot)
ot->poll= WM_operator_winactive;
}
+static int wm_exit_blender_op(bContext *C, wmOperator *op)
+{
+ WM_operator_free(op);
+
+ WM_exit(C);
+
+ return OPERATOR_FINISHED;
+}
+
static void WM_OT_exit_blender(wmOperatorType *ot)
{
ot->name= "Exit Blender";
@@ -531,18 +540,18 @@ static int border_apply(bContext *C, wmOperator *op, int event_type)
if(rect->xmin==rect->xmax || rect->ymin==rect->ymax)
return 0;
- else {
-
- /* operator arguments and storage. */
- RNA_int_set(op->ptr, "xmin", rect->xmin);
- RNA_int_set(op->ptr, "ymin", rect->ymin);
- RNA_int_set(op->ptr, "xmax", rect->xmax);
- RNA_int_set(op->ptr, "ymax", rect->ymax);
- if( RNA_struct_find_property(op->ptr, "event_type") )
- RNA_int_set(op->ptr, "event_type", event_type);
- op->type->exec(C, op);
- }
+ /* operator arguments and storage. */
+ RNA_int_set(op->ptr, "xmin", rect->xmin);
+ RNA_int_set(op->ptr, "ymin", rect->ymin);
+ RNA_int_set(op->ptr, "xmax", rect->xmax);
+ RNA_int_set(op->ptr, "ymax", rect->ymax);
+ if( RNA_struct_find_property(op->ptr, "event_type") )
+ RNA_int_set(op->ptr, "event_type", event_type);
+
+ op->type->exec(C, op);
+
+ return 1;
}
static void wm_gesture_end(bContext *C, wmOperator *op)
diff --git a/source/blender/windowmanager/intern/wm_window.c b/source/blender/windowmanager/intern/wm_window.c
index eebf89982c1..bf34406b111 100644
--- a/source/blender/windowmanager/intern/wm_window.c
+++ b/source/blender/windowmanager/intern/wm_window.c
@@ -322,21 +322,6 @@ int wm_window_fullscreen_toggle_op(bContext *C, wmOperator *op)
}
-
-/* exit blender */
-int wm_exit_blender_op(bContext *C, wmOperator *op)
-{
- wmWindowManager *wm= CTX_wm_manager(C);
- wmWindow *win= wm->windows.first;
-
- while(win) {
- wm_window_close(C, win);
- win= win->next;
- }
-
- return OPERATOR_FINISHED;
-}
-
/* ************ events *************** */
diff --git a/source/blender/windowmanager/wm_event_system.h b/source/blender/windowmanager/wm_event_system.h
index 8a5806497a3..5205c8c17e1 100644
--- a/source/blender/windowmanager/wm_event_system.h
+++ b/source/blender/windowmanager/wm_event_system.h
@@ -78,7 +78,6 @@ enum {
/* wm_event_system.c */
void wm_event_add(wmWindow *win, wmEvent *event_to_add);
void wm_event_free_all (wmWindow *win);
-wmEvent *wm_event_next (wmWindow *win);
/* goes over entire hierarchy: events -> window -> screen -> area -> region */
void wm_event_do_handlers (bContext *C);
diff --git a/source/blender/windowmanager/wm_window.h b/source/blender/windowmanager/wm_window.h
index 97b9f434982..86ceac9203e 100644
--- a/source/blender/windowmanager/wm_window.h
+++ b/source/blender/windowmanager/wm_window.h
@@ -58,7 +58,6 @@ void wm_window_testbreak (void);
int wm_window_duplicate_op (bContext *C, wmOperator *op);
int wm_window_rip_op (bContext *C, wmOperator *op, struct wmEvent *event);
int wm_window_fullscreen_toggle_op(bContext *C, wmOperator *op);
-int wm_exit_blender_op(bContext *C, wmOperator *op);
#endif /* WM_WINDOW_H */