So. I am feeling dumb now.
I’ve just clone master branch and revert commit that you mentored. Here is the patch.
commit 13cf594c94272e3dbb3919eb38bb1b5106d5e2cb
Author: VladBolotov <vladislav.bolotov@gmail.com>
Date: Mon Oct 7 14:05:14 2019 +1000
Revert "On Windows use SDL event watch to repaint the window while resizing"
This reverts commit b3d2573eb5e2bb57e99750b12994c6dbdfbeb113.
diff --git a/Source/Urho3D/Input/Input.cpp b/Source/Urho3D/Input/Input.cpp
index f96e49fdc..cf10b2e98 100644
--- a/Source/Urho3D/Input/Input.cpp
+++ b/Source/Urho3D/Input/Input.cpp
@@ -38,11 +38,6 @@
#include "../UI/Text.h"
#include "../UI/UI.h"
-#ifdef _WIN32
-#include "../Engine/Engine.h"
-#endif
-
-
#include <SDL/SDL.h>
#ifdef __EMSCRIPTEN__
@@ -300,32 +295,6 @@ int EmscriptenInput::HandleSDLEvents(void* userData, SDL_Event* event)
#endif
-#ifdef _WIN32
-// On Windows repaint while the window is actively being resized.
-int Win32_ResizingEventWatcher(void* data, SDL_Event* event)
-{
- if (event->type == SDL_WINDOWEVENT && event->window.event == SDL_WINDOWEVENT_RESIZED)
- {
- SDL_Window* win = SDL_GetWindowFromID(event->window.windowID);
- if (win == (SDL_Window*)data)
- {
- if (auto* ctx = (Context*)SDL_GetWindowData(win, "URHO3D_CONTEXT"))
- {
- if (auto* graphics = ctx->GetSubsystem<Graphics>())
- {
- if (graphics->IsInitialized())
- {
- graphics->OnWindowResized();
- ctx->GetSubsystem<Engine>()->RunFrame();
- }
- }
- }
- }
- }
- return 0;
-}
-#endif
-
void JoystickState::Initialize(unsigned numButtons, unsigned numAxes, unsigned numHats)
{
buttons_.Resize(numButtons);
@@ -1543,15 +1512,6 @@ void Input::Initialize()
SubscribeToEvent(E_ENDFRAME, URHO3D_HANDLER(Input, HandleEndFrame));
#endif
-#ifdef _WIN32
- // Register callback for resizing in order to repaint.
- if (SDL_Window* window = graphics_->GetWindow())
- {
- SDL_SetWindowData(window, "URHO3D_CONTEXT", GetContext());
- SDL_AddEventWatch(Win32_ResizingEventWatcher, window);
- }
-#endif
-
URHO3D_LOGINFO("Initialized input");
}
I did everything in the same way what that I did before. But good news, I can not reproduce this error anymore. I have no idea what I did wrong before. Thank you for your help.
UPD:
Never mind I am just the victim of my retardness.
But one more thing.
Now compiler complain about unresolved symbols:
LINK Pass 1: command "C:\PROGRA~2\MICROS~1\2019\COMMUN~1\VC\Tools\MSVC\1421~1.277\bin\Hostx64\x64\link.exe /nologo @CMakeFiles\QUrhoApp.dir\objects1.rsp /out:bin\QUrhoApp_d.exe /implib:QUrhoApp_d.lib /pdb:D:\projects\QUrhoApp\cmake-build-debug\bin\QUrhoApp_d.pdb /version:0.0 /machine:x64 /debug /INCREMENTAL /subsystem:windows D:\lib\Urho3D\lib\Urho3D_d.lib user32.lib gdi32.lib winmm.lib imm32.lib ole32.lib oleaut32.lib version.lib uuid.lib ws2_32.lib iphlpapi.lib winmm.lib dbghelp.lib d3dcompiler.lib d3d9.lib D:\tools\vcpkg\installed\x64-windows\debug\lib\Qt5Widgetsd.lib D:\tools\vcpkg\installed\x64-windows\debug\lib\Qt5Guid.lib D:\tools\vcpkg\installed\x64-windows\debug\lib\Qt5Xmld.lib imm32.lib ole32.lib oleaut32.lib version.lib uuid.lib ws2_32.lib iphlpapi.lib dbghelp.lib d3dcompiler.lib d3d9.lib D:\tools\vcpkg\installed\x64-windows\debug\lib\Qt5Cored.lib D:\tools\vcpkg\installed\x64-windows\debug\lib\manual-link\qtmaind.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:CMakeFiles\QUrhoApp.dir/intermediate.manifest CMakeFiles\QUrhoApp.dir/manifest.res" failed (exit code 1120) with the following output:
Creating library QUrhoApp_d.lib and object QUrhoApp_d.exp
Urho3D_d.lib(hid.obj) : error LNK2019: unresolved external symbol __imp_SetupDiEnumDeviceInfo referenced in function hid_enumerate
Urho3D_d.lib(hid.obj) : error LNK2019: unresolved external symbol __imp_SetupDiDestroyDeviceInfoList referenced in function hid_enumerate
Urho3D_d.lib(hid.obj) : error LNK2019: unresolved external symbol __imp_SetupDiEnumDeviceInterfaces referenced in function hid_enumerate
Urho3D_d.lib(hid.obj) : error LNK2019: unresolved external symbol __imp_SetupDiGetDeviceInterfaceDetailA referenced in function hid_enumerate
Urho3D_d.lib(hid.obj) : error LNK2019: unresolved external symbol __imp_SetupDiGetClassDevsA referenced in function hid_enumerate
Urho3D_d.lib(hid.obj) : error LNK2019: unresolved external symbol __imp_SetupDiGetDeviceRegistryPropertyA referenced in function hid_enumerate
bin\QUrhoApp_d.exe : fatal error LNK1120: 6 unresolved externals
NMAKE : fatal error U1077: '"C:\Users\omfg\AppData\Local\JetBrains\CLion 2019.2.1\bin\cmake\win\bin\cmake.exe"' : return code '0xffffffff'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.21.27702\bin\HostX64\x64\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.21.27702\bin\HostX64\x64\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.21.27702\bin\HostX64\x64\nmake.exe"' : return code '0x2'
Stop.
This problem appears just now. And was solved by adding setupapi into UrhoCommon.
commit 150e98c798938c70e4322ecb3d614db21b190ed9
Author: VladBolotov <vladislav.bolotov@gmail.com>
Date: Mon Oct 7 14:31:58 2019 +1000
Add missing win32 library (setupapi)
diff --git a/CMake/Modules/UrhoCommon.cmake b/CMake/Modules/UrhoCommon.cmake
index e715a4807..d56ad8146 100644
--- a/CMake/Modules/UrhoCommon.cmake
+++ b/CMake/Modules/UrhoCommon.cmake
@@ -861,7 +861,7 @@ macro (define_dependency_libs TARGET)
# ThirdParty/SDL external dependency
if (${TARGET} MATCHES SDL|Urho3D)
if (WIN32)
- list (APPEND LIBS user32 gdi32 winmm imm32 ole32 oleaut32 setupapi version uuid)
+ list (APPEND LIBS user32 gdi32 winmm imm32 ole32 oleaut32 setupapi version uuid setupapi)
elseif (APPLE)
list (APPEND LIBS iconv)
elseif (ANDROID)