diff options
Diffstat (limited to 'src/FbTk/XLayerItem.cc')
-rw-r--r-- | src/FbTk/XLayerItem.cc | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/FbTk/XLayerItem.cc b/src/FbTk/XLayerItem.cc index eb88aa8..95befe7 100644 --- a/src/FbTk/XLayerItem.cc +++ b/src/FbTk/XLayerItem.cc | |||
@@ -81,9 +81,10 @@ void XLayerItem::moveToLayer(int layernum) { | |||
81 | } | 81 | } |
82 | 82 | ||
83 | void XLayerItem::addWindow(FbWindow &win) { | 83 | void XLayerItem::addWindow(FbWindow &win) { |
84 | // I'd like to think we can trust ourselves that it won't be added twice... | 84 | // I'd like to think we can trust ourselves that it won't be added twice... |
85 | // Otherwise we're always scanning through the list. | 85 | // Otherwise we're always scanning through the list. |
86 | m_windows.push_back(&win); | 86 | m_windows.push_back(&win); |
87 | m_layer->alignItem(*this); | ||
87 | } | 88 | } |
88 | 89 | ||
89 | void XLayerItem::removeWindow(FbWindow &win) { | 90 | void XLayerItem::removeWindow(FbWindow &win) { |
@@ -91,7 +92,8 @@ void XLayerItem::removeWindow(FbWindow &win) { | |||
91 | // Otherwise we're always scanning through the list. | 92 | // Otherwise we're always scanning through the list. |
92 | 93 | ||
93 | XLayerItem::Windows::iterator it = std::find(m_windows.begin(), m_windows.end(), &win); | 94 | XLayerItem::Windows::iterator it = std::find(m_windows.begin(), m_windows.end(), &win); |
94 | m_windows.erase(it); | 95 | if (it != m_windows.end()) |
96 | m_windows.erase(it); | ||
95 | } | 97 | } |
96 | 98 | ||
97 | void XLayerItem::bringToTop(FbWindow &win) { | 99 | void XLayerItem::bringToTop(FbWindow &win) { |