summaryrefslogtreecommitdiffstats
path: root/tdefx/kstyle.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tdefx/kstyle.cpp')
-rw-r--r--tdefx/kstyle.cpp21
1 files changed, 14 insertions, 7 deletions
diff --git a/tdefx/kstyle.cpp b/tdefx/kstyle.cpp
index a983bd1d2..d95d98281 100644
--- a/tdefx/kstyle.cpp
+++ b/tdefx/kstyle.cpp
@@ -302,15 +302,22 @@ void KStyle::unPolish( TQStyleControlElementData ceData, ControlElementFlags ele
// Style changes (should) always re-polish popups.
-void KStyle::polishPopupMenu( TQPopupMenu* p )
+void KStyle::polishPopupMenu( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void *ptr )
{
- if (!p->testWState( WState_Polished ))
- p->setCheckable(true);
+ if ( !(ceData.windowState & WState_Polished ) ) {
+ widgetActionRequest(ceData, elementFlags, ptr, WAR_SetCheckable);
+ }
- // Install transparency handler if the effect is enabled.
- if ( d->menuHandler &&
- (strcmp(p->name(), "tear off menu") != 0))
- p->installEventFilter(d->menuHandler);
+ if (ceData.widgetObjectTypes.contains(TQWIDGET_OBJECT_NAME_STRING)) {
+ TQWidget* widget = reinterpret_cast<TQWidget*>(ptr);
+ TQPopupMenu *p = dynamic_cast<TQPopupMenu*>(widget);
+ if (p) {
+ // Install transparency handler if the effect is enabled.
+ if ( d->menuHandler && (strcmp(p->name(), "tear off menu") != 0)) {
+ p->installEventFilter(d->menuHandler);
+ }
+ }
+ }
}