diff options
Diffstat (limited to 'src/FbTk/FbWindow.cc')
-rw-r--r-- | src/FbTk/FbWindow.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/FbTk/FbWindow.cc b/src/FbTk/FbWindow.cc index 2c34fa1..b996edc 100644 --- a/src/FbTk/FbWindow.cc +++ b/src/FbTk/FbWindow.cc | |||
@@ -249,13 +249,19 @@ void FbWindow::setEventMask(long mask) { | |||
249 | 249 | ||
250 | void FbWindow::clear() { | 250 | void FbWindow::clear() { |
251 | XClearWindow(display(), m_window); | 251 | XClearWindow(display(), m_window); |
252 | if (m_lastbg_pm == ParentRelative && m_renderer) | ||
253 | m_renderer->renderForeground(*this, *this); | ||
254 | |||
252 | } | 255 | } |
253 | 256 | ||
254 | void FbWindow::clearArea(int x, int y, | 257 | void FbWindow::clearArea(int x, int y, |
255 | unsigned int width, unsigned int height, | 258 | unsigned int width, unsigned int height, |
256 | bool exposures) { | 259 | bool exposures) { |
257 | // TODO: probably could call renderForeground here (with x,y,w,h) | 260 | // TODO: probably could call renderForeground here (with x,y,w,h) |
258 | XClearArea(display(), window(), x, y, width, height, exposures); | 261 | if (m_lastbg_pm == ParentRelative && m_renderer) |
262 | FbWindow::clear(); | ||
263 | else | ||
264 | XClearArea(display(), window(), x, y, width, height, exposures); | ||
259 | } | 265 | } |
260 | 266 | ||
261 | // If override_is_offset, then dest_override is a pixmap located at the_x, the_y | 267 | // If override_is_offset, then dest_override is a pixmap located at the_x, the_y |