summaryrefslogtreecommitdiffstats
path: root/tdefx
diff options
context:
space:
mode:
Diffstat (limited to 'tdefx')
-rw-r--r--tdefx/kstyle.cpp21
-rw-r--r--tdefx/kstyle.h2
2 files changed, 15 insertions, 8 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);
+ }
+ }
+ }
}
diff --git a/tdefx/kstyle.h b/tdefx/kstyle.h
index c9edd25ab..0d36678cf 100644
--- a/tdefx/kstyle.h
+++ b/tdefx/kstyle.h
@@ -288,7 +288,7 @@ class TDEFX_EXPORT KStyle: public TQCommonStyle
void polish( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void * );
void unPolish( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void * );
- void polishPopupMenu( TQPopupMenu* );
+ void polishPopupMenu( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void *ptr );
void tqdrawPrimitive( TQ_PrimitiveElement pe,
TQPainter* p,