diff --git a/lib/kcommondecoration.cpp b/lib/kcommondecoration.cpp index 56b8e8ff00..d9f3661284 100644 --- a/lib/kcommondecoration.cpp +++ b/lib/kcommondecoration.cpp @@ -744,10 +744,6 @@ ButtonType KCommonDecorationButton::type() return m_type;; } -void KCommonDecorationButton::reset(unsigned long) -{ -} - void KCommonDecorationButton::setRealizeButtons(int btns) { m_realizeButtons = btns; @@ -755,7 +751,7 @@ void KCommonDecorationButton::setRealizeButtons(int btns) void KCommonDecorationButton::setSize(const QSize &s) { - if (s != size() ) { + if (!m_size.isValid() || s != size() ) { m_size = s; setFixedSize(m_size); diff --git a/lib/kcommondecoration.h b/lib/kcommondecoration.h index 2f8a71898c..dd6b25cef0 100644 --- a/lib/kcommondecoration.h +++ b/lib/kcommondecoration.h @@ -278,7 +278,7 @@ class KWIN_EXPORT KCommonDecorationButton : public QButton public: KCommonDecorationButton(ButtonType type, KCommonDecoration *parent, const char *name); - ~KCommonDecorationButton(); + virtual ~KCommonDecorationButton(); /** * These flags specify what has changed, e.g. the reason for a reset(). @@ -294,7 +294,7 @@ class KWIN_EXPORT KCommonDecorationButton : public QButton /** * Initialize the button after size change etc. */ - virtual void reset(unsigned long changed); + virtual void reset(unsigned long changed) = 0; /** * @returns the KCommonDecoration the button belongs to. */