forked from bartvdbraak/blender
2.5
fix for win32 firing size event with undefined size.
This commit is contained in:
parent
149651b2f2
commit
7209837f2e
@ -447,47 +447,51 @@ static int ghost_event_proc(GHOST_EventHandle evt, GHOST_TUserDataPtr private)
|
||||
}
|
||||
case GHOST_kEventWindowSize:
|
||||
case GHOST_kEventWindowMove: {
|
||||
GHOST_RectangleHandle client_rect;
|
||||
int l, t, r, b, scr_w, scr_h;
|
||||
GHOST_TWindowState state;
|
||||
state = GHOST_GetWindowState(win->ghostwin);
|
||||
|
||||
client_rect= GHOST_GetClientBounds(win->ghostwin);
|
||||
GHOST_GetRectangle(client_rect, &l, &t, &r, &b);
|
||||
/* win32: gives undefined window size when minimized */
|
||||
if(state!=GHOST_kWindowStateMinimized) {
|
||||
GHOST_RectangleHandle client_rect;
|
||||
int l, t, r, b, scr_w, scr_h;
|
||||
|
||||
GHOST_DisposeRectangle(client_rect);
|
||||
client_rect= GHOST_GetClientBounds(win->ghostwin);
|
||||
GHOST_GetRectangle(client_rect, &l, &t, &r, &b);
|
||||
|
||||
wm_get_screensize(&scr_w, &scr_h);
|
||||
win->sizex= r-l;
|
||||
win->sizey= b-t;
|
||||
win->posx= l;
|
||||
win->posy= scr_h - t - win->sizey;
|
||||
GHOST_DisposeRectangle(client_rect);
|
||||
|
||||
/* debug prints */
|
||||
if(0) {
|
||||
GHOST_TWindowState state;
|
||||
state = GHOST_GetWindowState(win->ghostwin);
|
||||
wm_get_screensize(&scr_w, &scr_h);
|
||||
win->sizex= r-l;
|
||||
win->sizey= b-t;
|
||||
win->posx= l;
|
||||
win->posy= scr_h - t - win->sizey;
|
||||
|
||||
/* debug prints */
|
||||
if(0) {
|
||||
state = GHOST_GetWindowState(win->ghostwin);
|
||||
|
||||
if(state==GHOST_kWindowStateNormal) {
|
||||
if(G.f & G_DEBUG) printf("window state: normal\n");
|
||||
}
|
||||
else if(state==GHOST_kWindowStateMinimized) {
|
||||
if(G.f & G_DEBUG) printf("window state: minimized\n");
|
||||
}
|
||||
else if(state==GHOST_kWindowStateMaximized) {
|
||||
if(G.f & G_DEBUG) printf("window state: maximized\n");
|
||||
}
|
||||
else if(state==GHOST_kWindowStateFullScreen) {
|
||||
if(G.f & G_DEBUG) printf("window state: fullscreen\n");
|
||||
}
|
||||
|
||||
if(type!=GHOST_kEventWindowSize) {
|
||||
if(G.f & G_DEBUG) printf("win move event pos %d %d size %d %d\n", win->posx, win->posy, win->sizex, win->sizey);
|
||||
}
|
||||
|
||||
if(state==GHOST_kWindowStateNormal) {
|
||||
if(G.f & G_DEBUG) printf("window state: normal\n");
|
||||
}
|
||||
else if(state==GHOST_kWindowStateMinimized) {
|
||||
if(G.f & G_DEBUG) printf("window state: minimized\n");
|
||||
}
|
||||
else if(state==GHOST_kWindowStateMaximized) {
|
||||
if(G.f & G_DEBUG) printf("window state: maximized\n");
|
||||
}
|
||||
else if(state==GHOST_kWindowStateFullScreen) {
|
||||
if(G.f & G_DEBUG) printf("window state: fullscreen\n");
|
||||
}
|
||||
|
||||
if(type!=GHOST_kEventWindowSize) {
|
||||
if(G.f & G_DEBUG) printf("win move event pos %d %d size %d %d\n", win->posx, win->posy, win->sizex, win->sizey);
|
||||
}
|
||||
|
||||
wm_window_make_drawable(C, win);
|
||||
WM_event_add_notifier(C, NC_SCREEN|NA_EDITED, NULL);
|
||||
}
|
||||
|
||||
wm_window_make_drawable(C, win);
|
||||
WM_event_add_notifier(C, NC_SCREEN|NA_EDITED, NULL);
|
||||
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
Loading…
Reference in New Issue
Block a user