summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/FbTk/FbWindow.cc18
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
72FbWindow::FbWindow(Window client):m_parent(0), m_window(client), 72FbWindow::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
77FbWindow::~FbWindow() { 77FbWindow::~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