diff --git a/intern/ghost/intern/GHOST_WindowCocoa.mm b/intern/ghost/intern/GHOST_WindowCocoa.mm index b8d52a2b4ff..472136b8130 100644 --- a/intern/ghost/intern/GHOST_WindowCocoa.mm +++ b/intern/ghost/intern/GHOST_WindowCocoa.mm @@ -53,17 +53,7 @@ enum { #endif #pragma mark Cocoa window delegate object -/* live resize ugly patch -extern "C" { - struct bContext; - typedef struct bContext bContext; - bContext* ghostC; - extern int wm_window_timer(const bContext *C); - extern void wm_window_process_events(const bContext *C); - extern void wm_event_do_handlers(bContext *C); - extern void wm_event_do_notifiers(bContext *C); - extern void wm_draw_update(bContext *C); -};*/ + @interface CocoaWindowDelegate : NSObject { @@ -125,14 +115,10 @@ extern "C" { #if MAC_OS_X_VERSION_MIN_REQUIRED >= 1060 //} #endif - /* Live resize ugly patch. Needed because live resize runs in a modal loop, not letting main loop run + /* Live resize, send event, gets handled in wm_window.c. Needed because live resize runs in a modal loop, not letting main loop run */ if ([[notification object] inLiveResize]) { systemCocoa->dispatchEvents(); - wm_window_timer(ghostC); - wm_event_do_handlers(ghostC); - wm_event_do_notifiers(ghostC); - wm_draw_update(ghostC); - }*/ + } } - (void)windowDidChangeBackingProperties:(NSNotification *)notification diff --git a/intern/ghost/intern/GHOST_WindowWin32.cpp b/intern/ghost/intern/GHOST_WindowWin32.cpp index 2d3997cdc14..78a69eb6c4f 100644 --- a/intern/ghost/intern/GHOST_WindowWin32.cpp +++ b/intern/ghost/intern/GHOST_WindowWin32.cpp @@ -887,7 +887,7 @@ GHOST_TSuccess GHOST_WindowWin32::installDrawingContext(GHOST_TDrawingContextTyp } else { m_multisampleEnabled = GHOST_kSuccess; - printf("Multisample failed to initialized\n"); + printf("Multisample failed to initialize\n"); success = GHOST_kSuccess; } } diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c index e3c5161463b..39bc31c35cf 100644 --- a/source/blender/editors/screen/screen_edit.c +++ b/source/blender/editors/screen/screen_edit.c @@ -664,15 +664,15 @@ static void screen_test_scale(bScreen *sc, int winsizex, int winsizey) * need some way to store these as floats internally and re-apply from there. */ tempf = ((float)sv->vec.x) * facx; sv->vec.x = (short)(tempf + 0.5f); - sv->vec.x += AREAGRID - 1; - sv->vec.x -= (sv->vec.x % AREAGRID); + //sv->vec.x += AREAGRID - 1; + //sv->vec.x -= (sv->vec.x % AREAGRID); CLAMP(sv->vec.x, 0, winsizex); tempf = ((float)sv->vec.y) * facy; sv->vec.y = (short)(tempf + 0.5f); - sv->vec.y += AREAGRID - 1; - sv->vec.y -= (sv->vec.y % AREAGRID); + //sv->vec.y += AREAGRID - 1; + //sv->vec.y -= (sv->vec.y % AREAGRID); CLAMP(sv->vec.y, 0, winsizey); } diff --git a/source/blender/windowmanager/intern/wm_window.c b/source/blender/windowmanager/intern/wm_window.c index fe419010780..282e14cc5fe 100644 --- a/source/blender/windowmanager/intern/wm_window.c +++ b/source/blender/windowmanager/intern/wm_window.c @@ -900,6 +900,13 @@ static int ghost_event_proc(GHOST_EventHandle evt, GHOST_TUserDataPtr C_void_ptr wm_draw_window_clear(win); WM_event_add_notifier(C, NC_SCREEN | NA_EDITED, NULL); WM_event_add_notifier(C, NC_WINDOW | NA_EDITED, NULL); + +#if defined(__APPLE__) + /* OSX doesn't return to the mainloop while resize */ + wm_event_do_handlers(C); + wm_event_do_notifiers(C); + wm_draw_update(C); +#endif } } break;