diff options
Diffstat (limited to 'src/FbTk/FbPixmap.cc')
-rw-r--r-- | src/FbTk/FbPixmap.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/FbTk/FbPixmap.cc b/src/FbTk/FbPixmap.cc index 675e838..30f2c05 100644 --- a/src/FbTk/FbPixmap.cc +++ b/src/FbTk/FbPixmap.cc | |||
@@ -25,6 +25,7 @@ | |||
25 | #include "App.hh" | 25 | #include "App.hh" |
26 | #include "GContext.hh" | 26 | #include "GContext.hh" |
27 | #include "Transparent.hh" | 27 | #include "Transparent.hh" |
28 | #include "FbWindow.hh" | ||
28 | 29 | ||
29 | #include <X11/Xutil.h> | 30 | #include <X11/Xutil.h> |
30 | #include <X11/Xatom.h> | 31 | #include <X11/Xatom.h> |
@@ -390,9 +391,14 @@ void FbPixmap::rootwinPropertyNotify(int screen_num, Atom atom) { | |||
390 | void FbPixmap::setRootPixmap(int screen_num, Pixmap pm) { | 391 | void FbPixmap::setRootPixmap(int screen_num, Pixmap pm) { |
391 | if (!m_root_pixmaps) { | 392 | if (!m_root_pixmaps) { |
392 | m_root_pixmaps = new Pixmap[ScreenCount(display())]; | 393 | m_root_pixmaps = new Pixmap[ScreenCount(display())]; |
394 | for (int i=0; i < ScreenCount(display()); ++i) | ||
395 | m_root_pixmaps[i] = None; | ||
393 | } | 396 | } |
394 | 397 | ||
395 | m_root_pixmaps[screen_num] = pm; | 398 | if (m_root_pixmaps[screen_num] != pm) { |
399 | m_root_pixmaps[screen_num] = pm; | ||
400 | FbWindow::updatedAlphaBackground(screen_num); | ||
401 | } | ||
396 | } | 402 | } |
397 | 403 | ||
398 | Pixmap FbPixmap::getRootPixmap(int screen_num, bool force_update) { | 404 | Pixmap FbPixmap::getRootPixmap(int screen_num, bool force_update) { |