From 3d8f047dc7c7d367d618b0321028ba46b153f807 Mon Sep 17 00:00:00 2001 From: zeljko Date: Wed, 21 Jul 2010 09:46:43 +0000 Subject: [PATCH] Qt: stop event filter in case when QRadioButton isn't child of TRadioGroup. fixes #16998 git-svn-id: trunk@26762 - --- lcl/interfaces/qt/qtwidgets.pas | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lcl/interfaces/qt/qtwidgets.pas b/lcl/interfaces/qt/qtwidgets.pas index 98130736de..0035a4432c 100644 --- a/lcl/interfaces/qt/qtwidgets.pas +++ b/lcl/interfaces/qt/qtwidgets.pas @@ -577,6 +577,7 @@ type public procedure AttachEvents; override; procedure DetachEvents; override; + function EventFilter(Sender: QObjectH; Event: QEventH): Boolean; cdecl; override; end; { TQtGroupBox } @@ -5098,6 +5099,16 @@ begin inherited DetachEvents; end; +function TQtRadioButton.EventFilter(Sender: QObjectH; Event: QEventH): Boolean; + cdecl; +begin + Result := inherited EventFilter(Sender, Event); + if (LCLObject <> nil) and + (QEvent_type(Event) in [QEventMouseButtonPress, QEventMouseButtonRelease]) + then + Result := not (LCLObject.Parent is TRadioGroup); +end; + { TQtGroupBox } procedure TQtGroupBox.setLayoutThemeMargins(ALayout: QLayoutH; AWidget: QWidgetH);