diff options
author | fluxgen <fluxgen> | 2003-05-06 23:50:31 (GMT) |
---|---|---|
committer | fluxgen <fluxgen> | 2003-05-06 23:50:31 (GMT) |
commit | 1cbf54adeb7dad7cc172ad1e167b433457cdc95e (patch) | |
tree | 416ed704121b1d496902c781dbd4c240c65b51dc /src | |
parent | 114a72f9b19d7d63fa228f1546d12cc602012177 (diff) | |
download | fluxbox_pavel-1cbf54adeb7dad7cc172ad1e167b433457cdc95e.zip fluxbox_pavel-1cbf54adeb7dad7cc172ad1e167b433457cdc95e.tar.bz2 |
fixed problem with multiple screens redrawing, the m_screen_num wasnt set
Diffstat (limited to 'src')
-rw-r--r-- | src/FbTk/FbWindow.cc | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/FbTk/FbWindow.cc b/src/FbTk/FbWindow.cc index b5c4c6e..b5b02c8 100644 --- a/src/FbTk/FbWindow.cc +++ b/src/FbTk/FbWindow.cc | |||
@@ -19,7 +19,7 @@ | |||
19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
20 | // DEALINGS IN THE SOFTWARE. | 20 | // DEALINGS IN THE SOFTWARE. |
21 | 21 | ||
22 | // $Id: FbWindow.cc,v 1.13 2003/04/29 09:00:13 fluxgen Exp $ | 22 | // $Id: FbWindow.cc,v 1.14 2003/05/06 23:50:31 fluxgen Exp $ |
23 | 23 | ||
24 | #include "FbWindow.hh" | 24 | #include "FbWindow.hh" |
25 | #include "EventManager.hh" | 25 | #include "EventManager.hh" |
@@ -69,9 +69,9 @@ FbWindow::FbWindow(const FbWindow &parent, | |||
69 | 69 | ||
70 | }; | 70 | }; |
71 | 71 | ||
72 | FbWindow::FbWindow(Window client):m_parent(0), m_window(client), | 72 | FbWindow::FbWindow(Window client):m_parent(0), m_window(0), |
73 | m_destroy(false) { // don't destroy this window | 73 | m_destroy(false) { // don't destroy this window |
74 | updateGeometry(); | 74 | *this = client; |
75 | } | 75 | } |
76 | 76 | ||
77 | FbWindow::~FbWindow() { | 77 | FbWindow::~FbWindow() { |
@@ -117,9 +117,17 @@ FbWindow &FbWindow::operator = (Window win) { | |||
117 | if (m_window != 0 && m_destroy) | 117 | if (m_window != 0 && m_destroy) |
118 | XDestroyWindow(s_display, m_window); | 118 | XDestroyWindow(s_display, m_window); |
119 | m_window = win; | 119 | m_window = win; |
120 | if (m_window != 0) | 120 | if (m_window != 0) { |
121 | updateGeometry(); | 121 | updateGeometry(); |
122 | 122 | XWindowAttributes attr; | |
123 | attr.screen = 0; | ||
124 | //get screen number | ||
125 | if (XGetWindowAttributes(s_display, | ||
126 | m_window, | ||
127 | &attr) != 0 && attr.screen != 0) { | ||
128 | m_screen_num = XScreenNumberOfScreen(attr.screen); | ||
129 | } | ||
130 | } | ||
123 | return *this; | 131 | return *this; |
124 | } | 132 | } |
125 | 133 | ||