Somehow wnd_proc()->get_display() may be reentered during ChangeDisplaySettings
---
 vdagent/vdagent.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/vdagent/vdagent.cpp b/vdagent/vdagent.cpp
index 6f2a49c..c56025d 100644
--- a/vdagent/vdagent.cpp
+++ b/vdagent/vdagent.cpp
@@ -579,6 +579,7 @@ bool VDAgent::handle_mon_config(VDAgentMonitorsConfig* 
mon_config, uint32_t port
     VDAgentReply* reply;
     size_t display_count;
 
+    _desktop_layout->get_displays();
     display_count = _desktop_layout->get_display_count();
     for (uint32_t i = 0; i < display_count; i++) {
         DisplayMode* mode = _desktop_layout->get_display(i);
@@ -1327,7 +1328,6 @@ LRESULT CALLBACK VDAgent::wnd_proc(HWND hwnd, UINT 
message, WPARAM wparam, LPARA
     switch (message) {
     case WM_DISPLAYCHANGE:
         vd_printf("Display change");
-        a->_desktop_layout->get_displays();
         break;
     case WM_TIMER:
         a->send_input();
-- 
1.8.1.1.439.g50a6b54

_______________________________________________
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/spice-devel

Reply via email to