From a8de87576e23f7e1adbd2793e91a95008d07471b Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sat, 16 Jul 2016 23:49:44 +0200 Subject: [PATCH] (windows) Fixes drag and drop - we have to call this function directly since the UI companion driver interface at this point has not yet been initialized --- gfx/common/win32_common.cpp | 10 ++++------ ui/drivers/win32/ui_win32_window.cpp | 2 +- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/gfx/common/win32_common.cpp b/gfx/common/win32_common.cpp index c93ccc54a4..03ae0b08ca 100644 --- a/gfx/common/win32_common.cpp +++ b/gfx/common/win32_common.cpp @@ -381,6 +381,8 @@ static LRESULT CALLBACK WndProcCommon(bool *quit, HWND hwnd, UINT message, return 0; } +extern void ui_window_win32_set_droppable(void *data, bool droppable); + LRESULT CALLBACK WndProcD3D(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { @@ -410,15 +412,13 @@ LRESULT CALLBACK WndProcD3D(HWND hwnd, UINT message, case WM_CREATE: { ui_window_win32_t win32_window; - const ui_window_t *window = ui_companion_driver_get_window_ptr(); LPCREATESTRUCT p_cs = (LPCREATESTRUCT)lparam; curD3D = p_cs->lpCreateParams; g_inited = true; win32_window.hwnd = hwnd; - if (window) - window->set_droppable(&win32_window, true); + ui_window_win32_set_droppable(&win32_window, true); } return 0; } @@ -459,13 +459,11 @@ LRESULT CALLBACK WndProcGL(HWND hwnd, UINT message, case WM_CREATE: { ui_window_win32_t win32_window; - const ui_window_t *window = ui_companion_driver_get_window_ptr(); win32_window.hwnd = hwnd; create_graphics_context(hwnd, &g_quit); - if (window) - window->set_droppable(&win32_window, true); + ui_window_win32_set_droppable(&win32_window, true); } return 0; } diff --git a/ui/drivers/win32/ui_win32_window.cpp b/ui/drivers/win32/ui_win32_window.cpp index 9df67c27e7..d76866a0ba 100644 --- a/ui/drivers/win32/ui_win32_window.cpp +++ b/ui/drivers/win32/ui_win32_window.cpp @@ -75,7 +75,7 @@ static void ui_window_win32_set_title(void *data, char *buf) SetWindowText(window->hwnd, buf); } -static void ui_window_win32_set_droppable(void *data, bool droppable) +void ui_window_win32_set_droppable(void *data, bool droppable) { /* Minimum supported client: Windows XP, minimum supported server: Windows 2000 Server */ ui_window_win32_t *window = (ui_window_win32_t*)data;