summaryrefslogtreecommitdiffstats
path: root/klipper/toplevel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'klipper/toplevel.cpp')
-rw-r--r--klipper/toplevel.cpp11
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());