@@ -311,7 +311,7 @@ static void win_generate_resize_event(ALLEGRO_DISPLAY_WIN *win_display)
311
311
WINDOWINFO wi ;
312
312
int x , y , w , h ;
313
313
314
- if (win_display -> ignore_resize ) {
314
+ if (win_display -> ignore_resize || win_display -> d3d_ignore_resize ) {
315
315
return ;
316
316
}
317
317
@@ -987,16 +987,9 @@ static LRESULT CALLBACK window_callback(HWND hWnd, UINT message,
987
987
return 0 ;
988
988
}
989
989
case WM_ENTERSIZEMOVE : {
990
- /* DefWindowProc for WM_ENTERSIZEMOVE enters a modal loop, which also
991
- * ends up blocking the loop in d3d_display_thread_proc (which is
992
- * where we are called from, if using D3D). Rather than batching up
993
- * intermediate resize events which the user cannot acknowledge in the
994
- * meantime anyway, make it so only a single resize event is generated
995
- * at WM_EXITSIZEMOVE.
996
- */
997
990
al_lock_mutex (resize_event_thread_mutex );
998
991
if (d -> flags & ALLEGRO_DIRECT3D_INTERNAL ) {
999
- win_display -> ignore_resize = true;
992
+ win_display -> d3d_ignore_resize = true;
1000
993
}
1001
994
ALLEGRO_DISPLAY_WIN * * add = (ALLEGRO_DISPLAY_WIN * * )_al_vector_alloc_back (& resizing_displays );
1002
995
* add = win_display ;
@@ -1006,7 +999,7 @@ static LRESULT CALLBACK window_callback(HWND hWnd, UINT message,
1006
999
case WM_EXITSIZEMOVE :
1007
1000
al_lock_mutex (resize_event_thread_mutex );
1008
1001
if (d -> flags & ALLEGRO_DIRECT3D_INTERNAL ) {
1009
- win_display -> ignore_resize = false;
1002
+ win_display -> d3d_ignore_resize = false;
1010
1003
}
1011
1004
_al_vector_find_and_delete (& resizing_displays , & win_display );
1012
1005
al_unlock_mutex (resize_event_thread_mutex );
0 commit comments