summaryrefslogtreecommitdiffstats
path: root/client/screen.h
diff options
context:
space:
mode:
authorYonit Halperin <yhalperi@redhat.com>2011-07-19 17:14:54 +0300
committerYonit Halperin <yhalperi@redhat.com>2011-07-21 12:43:37 +0300
commit419222f0f3de82b14960938263d06cc36b9e1a84 (patch)
tree65532f3aaddde578eb9d5e6dd0a7223e728f49f3 /client/screen.h
parent77a9a62556a35fbb43209d537b894e652abab2d6 (diff)
downloadspice-419222f0f3de82b14960938263d06cc36b9e1a84.tar.gz
spice-419222f0f3de82b14960938263d06cc36b9e1a84.tar.xz
spice-419222f0f3de82b14960938263d06cc36b9e1a84.zip
client: fix endless recursion in rearrange_monitors, RHBZ #692976
The endless recursion happens due to Application::prepare_monitors calling RedScreen::resize calling Application::rearrange_monitors calling Application::prepare_monitors I changed RedScreen::resize not to call rearrange_monitors. Instead, the monitor should be configured correctly from Application, before calling resize. In addition, I made some cleanups to allow reusing rearrange_monitors code.
Diffstat (limited to 'client/screen.h')
-rw-r--r--client/screen.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/client/screen.h b/client/screen.h
index 1d40e6c6..8fbc10aa 100644
--- a/client/screen.h
+++ b/client/screen.h
@@ -62,6 +62,8 @@ public:
void attach_layer(ScreenLayer& layer);
void detach_layer(ScreenLayer& layer);
void on_layer_changed(ScreenLayer& layer);
+ /* When resizing on full screen mode, the monitor must be configured
+ * correctly before calling resize*/
void resize(int width, int height);
void set_name(const std::string& name);
uint64_t invalidate(const SpiceRect& rect, bool urgent);