diff options
Diffstat (limited to 'klipper/toplevel.cpp')
-rw-r--r-- | klipper/toplevel.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/klipper/toplevel.cpp b/klipper/toplevel.cpp index b30d551c1..7ebcd1484 100644 --- a/klipper/toplevel.cpp +++ b/klipper/toplevel.cpp @@ -196,14 +196,14 @@ KlipperWidget::KlipperWidget( TQWidget *parent, TDEConfig* config ) connect( poll, TQT_SIGNAL( clipboardChanged( bool ) ), this, TQT_SLOT( newClipData( bool ) ) ); - if ( isApplet() ) { + if ( isApplet() || !isShown() ) { m_pixmap = KSystemTray::loadIcon( "klipper" ); } else { m_pixmap = KSystemTray::loadSizedIcon( "klipper", width() ); } - m_iconOrigWidth = width(); - m_iconOrigHeight = height(); + m_iconOrigWidth = m_pixmap.width(); + m_iconOrigHeight = m_pixmap.height(); adjustSize(); globalKeys = new TDEGlobalAccel(TQT_TQOBJECT(this)); @@ -298,8 +298,11 @@ void KlipperWidget::paintEvent(TQPaintEvent *) { TQPainter p(this); // Honor Free Desktop specifications that allow for arbitrary system tray icon sizes - if ((m_iconOrigWidth != width()) || (m_iconOrigHeight != height())) { + if (m_scaledpixmap.isNull() || + (m_iconOrigWidth != width()) || (m_iconOrigHeight != height())) { TQImage newIcon; + m_iconOrigWidth = width(); + m_iconOrigHeight = height(); m_pixmap = KSystemTray::loadSizedIcon( "klipper", width() ); newIcon = m_pixmap; newIcon = newIcon.smoothScale(width(), height()); |