File tree Expand file tree Collapse file tree 1 file changed +3
-3
lines changed Expand file tree Collapse file tree 1 file changed +3
-3
lines changed Original file line number Diff line number Diff line change @@ -160,10 +160,10 @@ cpp! {{
160
160
void * parent_of_popup_to_close = nullptr;
161
161
if ( auto p = dynamic_cast<const SlintWidget * >( parent( ) ) ) {
162
162
void * parent_window = p->rust_window;
163
- bool close_on_click = rust!( Slint_mouseReleaseEventPopup [ parent_window: & QtWindow as "void*" ] -> bool as "bool" {
163
+ bool inside = rect( ) . contains( event->pos( ) ) ;
164
+ bool close_on_click = rust!( Slint_mouseReleaseEventPopup [ parent_window: & QtWindow as "void*" , inside: bool as "bool" ] -> bool as "bool" {
164
165
let close_policy = parent_window. close_policy( ) ;
165
-
166
- close_policy == PopupClosePolicy :: CloseOnClick || close_policy == PopupClosePolicy :: CloseOnClickOutside
166
+ close_policy == PopupClosePolicy :: CloseOnClick || ( close_policy == PopupClosePolicy :: CloseOnClickOutside && !inside)
167
167
} ) ;
168
168
if ( close_on_click) {
169
169
parent_of_popup_to_close = parent_window;
You can’t perform that action at this time.
0 commit comments