diff options
author | mathias <mathias> | 2005-05-12 19:55:49 (GMT) |
---|---|---|
committer | mathias <mathias> | 2005-05-12 19:55:49 (GMT) |
commit | 59a806799ffda3ff2bc3bf7a2c0942c5edb8dbfa (patch) | |
tree | 0640bc2dc722db05c36fb8d3dee494dbccb3f2a8 | |
parent | 41462f08d2ada06896c77fe2b9ee9e3fb81a354c (diff) | |
download | fluxbox_paul-59a806799ffda3ff2bc3bf7a2c0942c5edb8dbfa.zip fluxbox_paul-59a806799ffda3ff2bc3bf7a2c0942c5edb8dbfa.tar.bz2 |
when the app changes its pixmap we need to trigger that correctly
-rw-r--r-- | src/WinButton.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/WinButton.cc b/src/WinButton.cc index 36639f5..f97784e 100644 --- a/src/WinButton.cc +++ b/src/WinButton.cc | |||
@@ -354,11 +354,23 @@ void WinButton::update(FbTk::Subject *subj) { | |||
354 | m_icon_pixmap.release(); | 354 | m_icon_pixmap.release(); |
355 | m_icon_mask.release(); | 355 | m_icon_mask.release(); |
356 | } else { | 356 | } else { |
357 | |||
358 | // no pixmap | ||
357 | if (!((hints->flags & IconPixmapHint) && hints->icon_pixmap != 0)) | 359 | if (!((hints->flags & IconPixmapHint) && hints->icon_pixmap != 0)) |
358 | m_icon_pixmap.release(); | 360 | m_icon_pixmap.release(); |
361 | |||
362 | // pixmap has changed | ||
363 | if (hints->flags & IconPixmapHint && hints->icon_pixmap != 0 && | ||
364 | hints->icon_pixmap != m_icon_pixmap.drawable()) | ||
365 | m_icon_pixmap.release(); | ||
359 | 366 | ||
367 | // no pixmap-mask | ||
360 | if (!(hints->flags & IconMaskHint)) | 368 | if (!(hints->flags & IconMaskHint)) |
361 | m_icon_mask.release(); | 369 | m_icon_mask.release(); |
370 | |||
371 | // pixmap-mask has changed | ||
372 | if (hints->flags & IconMaskHint && hints->icon_mask != m_icon_mask.drawable()) | ||
373 | m_icon_mask.release(); | ||
362 | } | 374 | } |
363 | 375 | ||
364 | XFree(hints); | 376 | XFree(hints); |