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:
-rw-r--r--source/blender/editors/include/ED_screen.h2
-rw-r--r--source/blender/editors/include/UI_view2d.h4
-rw-r--r--source/blender/editors/interface/interface_handlers.c17
-rw-r--r--source/blender/editors/interface/interface_regions.c4
-rw-r--r--source/blender/editors/interface/view2d.c2
-rw-r--r--source/blender/editors/interface/view2d_ops.c10
-rw-r--r--source/blender/editors/screen/area.c34
-rw-r--r--source/blender/editors/screen/screen_edit.c7
-rw-r--r--source/blender/editors/space_buttons/space_buttons.c7
-rw-r--r--source/blender/editors/space_time/ed_markers.c14
-rw-r--r--source/blender/editors/space_time/space_time.c2
-rw-r--r--source/blender/editors/space_time/time_header.c8
-rw-r--r--source/blender/editors/space_view3d/space_view3d.c6
-rw-r--r--source/blender/windowmanager/WM_types.h2
-rw-r--r--source/blender/windowmanager/intern/wm_event_system.c29
-rw-r--r--source/blender/windowmanager/intern/wm_operators.c4
16 files changed, 100 insertions, 52 deletions
diff --git a/source/blender/editors/include/ED_screen.h b/source/blender/editors/include/ED_screen.h
index 8be027d3400..3028a1f0ad6 100644
--- a/source/blender/editors/include/ED_screen.h
+++ b/source/blender/editors/include/ED_screen.h
@@ -47,6 +47,7 @@ void ED_region_do_draw(struct bContext *C, struct ARegion *ar);
void ED_region_exit(struct bContext *C, struct ARegion *ar);
void ED_region_pixelspace(const struct bContext *C, struct ARegion *ar);
void ED_region_init(struct bContext *C, struct ARegion *ar);
+void ED_region_tag_redraw(struct ARegion *ar);
/* spaces */
void ED_spacetypes_init(void);
@@ -59,6 +60,7 @@ void ED_area_initialize(struct wmWindowManager *wm, struct wmWindow *win, struct
void ED_area_exit(struct bContext *C, struct ScrArea *sa);
void ED_area_do_draw(struct bContext *C, struct ScrArea *sa);
int ED_screen_area_active(const struct bContext *C);
+void ED_area_tag_redraw(ScrArea *sa);
/* screens */
void ED_screens_initialize(struct wmWindowManager *wm);
diff --git a/source/blender/editors/include/UI_view2d.h b/source/blender/editors/include/UI_view2d.h
index 09d57901b0b..a60b827c44c 100644
--- a/source/blender/editors/include/UI_view2d.h
+++ b/source/blender/editors/include/UI_view2d.h
@@ -101,7 +101,9 @@ enum {
/* ------ Define for UI_view2d_sync ----- */
-/* means copy it from the other v2d */
+/* means copy it from another v2d */
+#define V2D_LOCK_SET 0
+/* means copy it to the other v2ds */
#define V2D_LOCK_COPY 1
diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c
index 9c62939946e..2e44fedc66a 100644
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@ -47,6 +47,8 @@
#include "BKE_texture.h"
#include "BKE_utildefines.h"
+#include "ED_screen.h"
+
#include "UI_interface.h"
#include "UI_text.h"
#include "interface.h"
@@ -1272,7 +1274,7 @@ static void ui_do_but_textedit(bContext *C, uiBlock *block, uiBut *but, uiHandle
}
if(changed || (retval == WM_UI_HANDLER_BREAK))
- WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL);
+ ED_region_tag_redraw(data->region);
}
static void ui_do_but_textedit_select(bContext *C, uiBlock *block, uiBut *but, uiHandleButtonData *data, wmEvent *event)
@@ -1298,7 +1300,7 @@ static void ui_do_but_textedit_select(bContext *C, uiBlock *block, uiBut *but, u
if(retval == WM_UI_HANDLER_BREAK) {
ui_check_but(but);
- WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL);
+ ED_region_tag_redraw(data->region);
}
}
@@ -1354,7 +1356,7 @@ static void ui_numedit_apply(bContext *C, uiBlock *block, uiBut *but, uiHandleBu
if(data->interactive) ui_apply_button(C, block, but, data, 1);
else ui_check_but(but);
- WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL);
+ ED_region_tag_redraw(data->region);
}
/* ****************** menu opening for various types **************** */
@@ -2808,7 +2810,6 @@ static void button_activate_state(bContext *C, uiBut *but, uiHandleButtonState s
}
data->state= state;
- WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL);
}
static void button_activate_init(bContext *C, ARegion *ar, uiBut *but, uiButtonActivateType type)
@@ -2880,7 +2881,7 @@ static void button_activate_exit(bContext *C, uiHandleButtonData *data, uiBut *b
but->flag &= ~(UI_ACTIVE|UI_SELECT);
/* redraw */
- WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL);
+ ED_region_tag_redraw(data->region);
/* adds empty mousemove in queue for re-init handler, in case mouse is
* still over a button. we cannot just check for this ourselfs because
@@ -2978,7 +2979,7 @@ static int ui_handle_button_event(bContext *C, wmEvent *event, uiBut *but)
if(!data->tooltip) {
data->tooltip= ui_tooltip_create(C, data->region, but);
- WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL);
+ ED_region_tag_redraw(data->region);
}
}
/* handle menu auto open timer */
@@ -3014,14 +3015,14 @@ static int ui_handle_button_event(bContext *C, wmEvent *event, uiBut *but)
if(!(but->flag & UI_SELECT)) {
but->flag |= UI_SELECT;
data->cancel= 0;
- WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL);
+ ED_region_tag_redraw(data->region);
}
}
else {
if(but->flag & UI_SELECT) {
but->flag &= ~UI_SELECT;
data->cancel= 1;
- WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL);
+ ED_region_tag_redraw(data->region);
}
}
break;
diff --git a/source/blender/editors/interface/interface_regions.c b/source/blender/editors/interface/interface_regions.c
index bb1105c79af..b1f70ddebd2 100644
--- a/source/blender/editors/interface/interface_regions.c
+++ b/source/blender/editors/interface/interface_regions.c
@@ -355,7 +355,7 @@ ARegion *ui_tooltip_create(bContext *C, ARegion *butregion, uiBut *but)
ED_region_init(C, ar);
/* notify change and redraw */
- WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL);
+ ED_region_tag_redraw(ar);
return ar;
}
@@ -671,7 +671,7 @@ uiMenuBlockHandle *ui_menu_block_create(bContext *C, ARegion *butregion, uiBut *
wm_subwindow_getmatrix(C->window, ar->swinid, block->winmat);
/* notify change and redraw */
- WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL);
+ ED_region_tag_redraw(ar);
return handle;
}
diff --git a/source/blender/editors/interface/view2d.c b/source/blender/editors/interface/view2d.c
index a5ec52b3d38..7798f3535ad 100644
--- a/source/blender/editors/interface/view2d.c
+++ b/source/blender/editors/interface/view2d.c
@@ -1526,7 +1526,7 @@ void UI_view2d_getscale(View2D *v2d, float *x, float *y)
if (y) *y = (v2d->mask.ymax - v2d->mask.ymin) / (v2d->cur.ymax - v2d->cur.ymin);
}
-
+/* called by notifier WM_NOTE_TIMELINE_SYNC */
void UI_view2d_sync(View2D *v2d, View2D *v2dfrom, int flag)
{
diff --git a/source/blender/editors/interface/view2d_ops.c b/source/blender/editors/interface/view2d_ops.c
index b945e260fb9..da3a412c147 100644
--- a/source/blender/editors/interface/view2d_ops.c
+++ b/source/blender/editors/interface/view2d_ops.c
@@ -48,6 +48,8 @@
#include "BIF_gl.h"
+#include "ED_screen.h"
+
#include "UI_resources.h"
#include "UI_view2d.h"
@@ -164,7 +166,7 @@ static void view_pan_apply(bContext *C, wmOperator *op)
UI_view2d_curRect_validate(v2d);
/* request updates to be done... */
- WM_event_add_notifier(C, WM_NOTE_AREA_REDRAW, 0, NULL);
+ ED_area_tag_redraw(C->area);
if(v2d->flag & V2D_VIEWSYNC_X)
WM_event_add_notifier(C, WM_NOTE_TIMELINE_SYNC, V2D_LOCK_COPY, v2d);
}
@@ -493,7 +495,7 @@ static void view_zoomstep_apply(bContext *C, wmOperator *op)
UI_view2d_curRect_validate(v2d);
/* request updates to be done... */
- WM_event_add_notifier(C, WM_NOTE_AREA_REDRAW, 0, NULL);
+ ED_area_tag_redraw(C->area);
if(v2d->flag & V2D_VIEWSYNC_X)
WM_event_add_notifier(C, WM_NOTE_TIMELINE_SYNC, V2D_LOCK_COPY, v2d);
}
@@ -646,7 +648,7 @@ static void view_zoomdrag_apply(bContext *C, wmOperator *op)
UI_view2d_curRect_validate(v2d);
/* request updates to be done... */
- WM_event_add_notifier(C, WM_NOTE_AREA_REDRAW, 0, NULL);
+ ED_area_tag_redraw(C->area);
if(v2d->flag & V2D_VIEWSYNC_X)
WM_event_add_notifier(C, WM_NOTE_TIMELINE_SYNC, V2D_LOCK_COPY, v2d);
}
@@ -1027,7 +1029,7 @@ static void scroller_activate_apply(bContext *C, wmOperator *op)
UI_view2d_curRect_validate(v2d);
/* request updates to be done... */
- WM_event_add_notifier(C, WM_NOTE_AREA_REDRAW, 0, NULL);
+ ED_area_tag_redraw(C->area);
if(v2d->flag & V2D_VIEWSYNC_X)
WM_event_add_notifier(C, WM_NOTE_TIMELINE_SYNC, V2D_LOCK_COPY, v2d);
}
diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c
index dfa6e1095f5..3e44566e593 100644
--- a/source/blender/editors/screen/area.c
+++ b/source/blender/editors/screen/area.c
@@ -108,11 +108,9 @@ void ED_region_do_listen(ARegion *ar, wmNotifier *note)
/* generic notes first */
switch(note->type) {
case WM_NOTE_WINDOW_REDRAW:
- case WM_NOTE_AREA_REDRAW:
- case WM_NOTE_REGION_REDRAW:
case WM_NOTE_GESTURE_REDRAW:
case WM_NOTE_SCREEN_CHANGED:
- ar->do_draw= 1;
+ ED_region_tag_redraw(ar);
break;
default:
if(ar->type->listener)
@@ -175,6 +173,26 @@ void ED_region_do_draw(bContext *C, ARegion *ar)
ar->do_draw= 0;
}
+/* **********************************
+ maybe silly, but let's try for now
+ to keep do_draw tags protected
+ ********************************** */
+
+void ED_region_tag_redraw(ARegion *ar)
+{
+ ar->do_draw= 1;
+}
+
+void ED_area_tag_redraw(ScrArea *sa)
+{
+ ARegion *ar;
+
+ for(ar= sa->regionbase.first; ar; ar= ar->next)
+ ar->do_draw= 1;
+}
+
+
+
/* *************************************************************** */
/* dir is direction to check, not the splitting edge direction! */
@@ -489,7 +507,7 @@ void area_copy_data(ScrArea *sa1, ScrArea *sa2, int swap_space)
/* *********** Space switching code, local now *********** */
/* XXX make operator for this */
-static void newspace(bContext *C, ScrArea *sa, int type)
+static void area_newspace(bContext *C, ScrArea *sa, int type)
{
if(sa->spacetype != type) {
SpaceType *st;
@@ -538,11 +556,11 @@ static void newspace(bContext *C, ScrArea *sa, int type)
slold->regionbase= sa->regionbase;
sa->regionbase= sl->regionbase;
sl->regionbase.first= sl->regionbase.last= NULL;
-
- ED_area_initialize(C->wm, C->window, sa);
}
}
+ ED_area_initialize(C->wm, C->window, sa);
+
/* tell WM to refresh, cursor types etc */
WM_event_add_mousemove(C);
}
@@ -588,8 +606,8 @@ static char *windowtype_pup(void)
static void spacefunc(struct bContext *C, void *arg1, void *arg2)
{
- newspace(C, C->area, C->area->butspacetype);
- WM_event_add_notifier(C, WM_NOTE_SCREEN_CHANGED, 0, NULL);
+ area_newspace(C, C->area, C->area->butspacetype);
+ ED_area_tag_redraw(C->area);
}
/* returns offset for next button in header */
diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c
index a05ee3d8450..a8cd6b7203c 100644
--- a/source/blender/editors/screen/screen_edit.c
+++ b/source/blender/editors/screen/screen_edit.c
@@ -924,7 +924,7 @@ void ED_screen_do_listen(wmWindow *win, wmNotifier *note)
}
}
-
+/* only for edge lines between areas, and the blended join arrows */
void ED_screen_draw(wmWindow *win)
{
ScrArea *sa;
@@ -1010,6 +1010,9 @@ void ED_screens_initialize(wmWindowManager *wm)
}
}
+
+/* *********** exit calls are for closing running stuff ******** */
+
void ED_region_exit(bContext *C, ARegion *ar)
{
ARegion *prevar= C->region;
@@ -1110,7 +1113,7 @@ void ED_screen_set_subwinactive(wmWindow *win, wmEvent *event)
if(do_draw) {
for(ar= sa->regionbase.first; ar; ar= ar->next)
if(ar->regiontype==RGN_TYPE_HEADER)
- ar->do_draw= 1; /* XXX */
+ ED_region_tag_redraw(ar);
}
}
}
diff --git a/source/blender/editors/space_buttons/space_buttons.c b/source/blender/editors/space_buttons/space_buttons.c
index 4c29d71f62a..a042e915f13 100644
--- a/source/blender/editors/space_buttons/space_buttons.c
+++ b/source/blender/editors/space_buttons/space_buttons.c
@@ -158,7 +158,7 @@ static void buttons_main_area_draw(const bContext *C, ARegion *ar)
/* draw entirely, view changes should be handled here */
// SpaceButs *sbuts= C->area->spacedata.first;
View2D *v2d= &ar->v2d;
- float col[3];
+ float col[3], fac;
/* clear and setup matrix */
UI_GetThemeColor3fv(TH_BACK, col);
@@ -167,6 +167,11 @@ static void buttons_main_area_draw(const bContext *C, ARegion *ar)
UI_view2d_view_ortho(C, v2d);
+ /* swapbuffers indicator */
+ fac= BLI_frand();
+ glColor3f(fac, fac, fac);
+ glRecti(20, 2, 30, 12);
+
/* data... */
diff --git a/source/blender/editors/space_time/ed_markers.c b/source/blender/editors/space_time/ed_markers.c
index deb56b286b4..43b2601d2fa 100644
--- a/source/blender/editors/space_time/ed_markers.c
+++ b/source/blender/editors/space_time/ed_markers.c
@@ -332,7 +332,7 @@ static void ed_marker_move_cancel(bContext *C, wmOperator *op)
ed_marker_move_apply(C, op);
ed_marker_move_exit(C, op);
- WM_event_add_notifier(C, WM_NOTE_AREA_REDRAW, 0, NULL);
+ ED_area_tag_redraw(C->area);
}
@@ -374,7 +374,7 @@ static int ed_marker_move_modal(bContext *C, wmOperator *op, wmEvent *evt)
case RIGHTMOUSE:
if(WM_modal_tweak_check(evt, mm->event_type)) {
ed_marker_move_exit(C, op);
- WM_event_add_notifier(C, WM_NOTE_AREA_REDRAW, 0, NULL);
+ ED_area_tag_redraw(C->area);
return OPERATOR_FINISHED;
}
@@ -451,7 +451,7 @@ XXX else if (mm->slink->spacetype == SPACE_ACTION) {
}
}
- WM_event_add_notifier(C, WM_NOTE_AREA_REDRAW, 0, NULL);
+ ED_area_tag_redraw(C->area);
// headerprint(str); XXX
}
}
@@ -619,7 +619,7 @@ static int ed_marker_select(bContext *C, wmEvent *evt, int extend)
select_timeline_marker_frame(cfra, 0);
/* XXX notifier for markers... */
- WM_event_add_notifier(C, WM_NOTE_AREA_REDRAW, 0, NULL);
+ ED_area_tag_redraw(C->area);
return OPERATOR_PASS_THROUGH;
}
@@ -713,7 +713,7 @@ static int ed_marker_border_select_exec(bContext *C, wmOperator *op)
}
/* XXX notifier for markers... */
- WM_event_add_notifier(C, WM_NOTE_AREA_REDRAW, 0, NULL);
+ ED_area_tag_redraw(C->area);
return 1;
}
@@ -767,7 +767,7 @@ static int ed_marker_select_all_exec(bContext *C, wmOperator *op)
}
/* XXX notifier for markers... */
- WM_event_add_notifier(C, WM_NOTE_AREA_REDRAW, 0, NULL);
+ ED_area_tag_redraw(C->area);
return OPERATOR_FINISHED;
}
@@ -815,7 +815,7 @@ static int ed_marker_delete_exec(bContext *C, wmOperator *op)
/* XXX notifier for markers... */
if(changed)
- WM_event_add_notifier(C, WM_NOTE_AREA_REDRAW, 0, NULL);
+ ED_area_tag_redraw(C->area);
return OPERATOR_FINISHED;
}
diff --git a/source/blender/editors/space_time/space_time.c b/source/blender/editors/space_time/space_time.c
index 29426840653..417ddb09373 100644
--- a/source/blender/editors/space_time/space_time.c
+++ b/source/blender/editors/space_time/space_time.c
@@ -166,7 +166,7 @@ static void time_main_area_listener(ARegion *ar, wmNotifier *wmn)
switch(wmn->type) {
case WM_NOTE_TIMELINE_SYNC:
if(ar->v2d.flag & V2D_VIEWSYNC_X) {
- ar->do_draw= 1; /* XXX GAH! */
+ ED_region_tag_redraw(ar);
UI_view2d_sync(&ar->v2d, wmn->data, wmn->value);
}
break;
diff --git a/source/blender/editors/space_time/time_header.c b/source/blender/editors/space_time/time_header.c
index 4f7d00005a4..65203cb7421 100644
--- a/source/blender/editors/space_time/time_header.c
+++ b/source/blender/editors/space_time/time_header.c
@@ -162,7 +162,7 @@ static void do_time_viewmenu(bContext *C, void *arg, int event)
v2d->cur.xmin=v2d->tot.xmin= (float)first-2;
v2d->cur.xmax=v2d->tot.xmax= (float)C->scene->r.efra+2;
- WM_event_add_notifier(C, WM_NOTE_AREA_REDRAW, 0, NULL);
+ ED_area_tag_redraw(C->area);
}
break;
case 4: /* Maximize Window */
@@ -170,7 +170,7 @@ static void do_time_viewmenu(bContext *C, void *arg, int event)
break;
case 5: /* show time or frames */
stime->flag ^= TIME_DRAWFRAMES;
- WM_event_add_notifier(C, WM_NOTE_AREA_REDRAW, 0, NULL);
+ ED_area_tag_redraw(C->area);
break;
case 6:
//nextprev_marker(1);
@@ -191,12 +191,12 @@ static void do_time_viewmenu(bContext *C, void *arg, int event)
if(v2d) {
v2d->flag ^= V2D_VIEWSYNC_X;
if(v2d->flag & V2D_VIEWSYNC_X)
- WM_event_add_notifier(C, WM_NOTE_TIMELINE_SYNC, 0, v2d); /* XXX can notifier be called after data free? */
+ WM_event_add_notifier(C, WM_NOTE_TIMELINE_SYNC, V2D_LOCK_SET, v2d);
}
break;
case 12: /* only show keyframes from selected data */
stime->flag ^= TIME_ONLYACTSEL;
- WM_event_add_notifier(C, WM_NOTE_AREA_REDRAW, 0, NULL);
+ ED_area_tag_redraw(C->area);
break;
}
}
diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c
index 9ccc7afe363..d98b59ac2c6 100644
--- a/source/blender/editors/space_view3d/space_view3d.c
+++ b/source/blender/editors/space_view3d/space_view3d.c
@@ -188,13 +188,17 @@ void view3d_keymap(struct wmWindowManager *wm)
static void view3d_main_area_draw(const bContext *C, ARegion *ar)
{
/* draw entirely, view changes should be handled here */
- float col[3];
+ float col[3], fac;
/* clear and setup matrix */
UI_GetThemeColor3fv(TH_BACK, col);
glClearColor(col[0], col[1], col[2], 0.0);
glClear(GL_COLOR_BUFFER_BIT);
+ /* swapbuffers indicator */
+ fac= BLI_frand();
+ glColor3f(fac, fac, fac);
+ glRecti(20, 2, 30, 12);
}
diff --git a/source/blender/windowmanager/WM_types.h b/source/blender/windowmanager/WM_types.h
index 3afb3369466..7f7f7aac32f 100644
--- a/source/blender/windowmanager/WM_types.h
+++ b/source/blender/windowmanager/WM_types.h
@@ -120,8 +120,6 @@ typedef struct wmNotifier {
enum {
WM_NOTE_WINDOW_REDRAW,
WM_NOTE_SCREEN_CHANGED,
- WM_NOTE_AREA_REDRAW,
- WM_NOTE_REGION_REDRAW,
WM_NOTE_GESTURE_REDRAW,
WM_NOTE_TIMELINE_SYNC,
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c
index a03425f1d11..710e7a5a4cc 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -104,8 +104,6 @@ void WM_event_add_notifier(bContext *C, int type, int value, void *data)
/* catch local notifications here */
switch (type) {
- case WM_NOTE_AREA_REDRAW:
- case WM_NOTE_REGION_REDRAW:
case WM_NOTE_GESTURE_REDRAW:
if(C->region)
note->swinid= C->region->swinid;
@@ -180,24 +178,39 @@ void wm_event_do_notifiers(bContext *C)
}
}
+static void wm_flush_draw_updates(bScreen *screen, rcti *dirty)
+{
+ ScrArea *sa;
+ ARegion *ar;
+
+ for(sa= screen->areabase.first; sa; sa= sa->next) {
+ for(ar=sa->regionbase.first; ar; ar= ar->next) {
+ if( BLI_isect_rcti(dirty, &ar->winrct, NULL) )
+ ar->do_draw= 1;
+ }
+ }
+}
+
/* quick test to prevent changing window drawable */
static int wm_draw_update_test_window(wmWindow *win)
{
ScrArea *sa;
ARegion *ar;
+ /* flush */
+ for(ar=win->screen->regionbase.first; ar; ar= ar->next) {
+ if(ar->swinid && ar->do_draw) {
+ wm_flush_draw_updates(win->screen, &ar->winrct);
+ }
+ }
+
if(win->screen->do_refresh)
return 1;
if(win->screen->do_draw)
return 1;
if(win->screen->do_gesture)
return 1;
-
- for(ar=win->screen->regionbase.first; ar; ar= ar->next) {
- if(ar->swinid && ar->do_draw)
- return 1;
- }
-
+
for(sa= win->screen->areabase.first; sa; sa= sa->next) {
for(ar=sa->regionbase.first; ar; ar= ar->next) {
if(ar->swinid && ar->do_draw)
diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c
index 5ed29a28abd..1cd903e7cf3 100644
--- a/source/blender/windowmanager/intern/wm_operators.c
+++ b/source/blender/windowmanager/intern/wm_operators.c
@@ -201,7 +201,7 @@ static void border_select_end(bContext *C, wmOperator *op)
WM_gesture_end(C, gesture); /* frees gesture itself, and unregisters from window */
op->customdata= NULL;
- WM_event_add_notifier(C, WM_NOTE_AREA_REDRAW, 0, NULL);
+ ED_area_tag_redraw(C->area);
}
@@ -284,7 +284,7 @@ static void tweak_gesture_end(bContext *C, wmOperator *op)
WM_gesture_end(C, gesture); /* frees gesture itself, and unregisters from window */
op->customdata= NULL;
- WM_event_add_notifier(C, WM_NOTE_AREA_REDRAW, 0, NULL);
+ ED_area_tag_redraw(C->area);
}