Quellcode durchsuchen

Fixed sending a size event while setting up a window (fix for DOTA 2 on Source 2)

Sam Lantinga vor 9 Jahren
Ursprung
Commit
9bd640e1a0

+ 1 - 1
src/video/windows/SDL_windowsevents.c

@@ -735,7 +735,7 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
             int x, y;
             int w, h;
             
-            if (data->in_border_change) {
+            if (data->initializing || data->in_border_change) {
                 break;
             }
 

+ 3 - 0
src/video/windows/SDL_windowswindow.c

@@ -130,6 +130,7 @@ SetupWindowData(_THIS, SDL_Window * window, HWND hwnd, SDL_bool created)
     data->created = created;
     data->mouse_button_flags = 0;
     data->videodata = videodata;
+	data->initializing = SDL_TRUE;
 
     window->driverdata = data;
 
@@ -255,6 +256,8 @@ SetupWindowData(_THIS, SDL_Window * window, HWND hwnd, SDL_bool created)
     /* Enable dropping files */
     DragAcceptFiles(hwnd, TRUE);
 
+	data->initializing = SDL_FALSE;
+
     /* All done! */
     return 0;
 }

+ 1 - 0
src/video/windows/SDL_windowswindow.h

@@ -37,6 +37,7 @@ typedef struct
     WNDPROC wndproc;
     SDL_bool created;
     WPARAM mouse_button_flags;
+	SDL_bool initializing;
     SDL_bool expected_resize;
     SDL_bool in_border_change;
     SDL_bool in_title_click;