forked from AuroraMiddleware/gtk
Fix a problem with focus handling in modal popovers
When the popover is dismissed, we return the focus to where it came from. However, by using gtk_widget_grab_focus, we were messing up the selection if that widget happens to be an entry. Special-case GtkEntry and use gtk_entry_grab_focus_without_selecting to avoid this issue.
This commit is contained in:
parent
c6c1619646
commit
46f7804f3a
@ -622,7 +622,12 @@ gtk_popover_apply_modality (GtkPopover *popover,
|
||||
/* Let prev_focus_widget regain focus */
|
||||
if (priv->prev_focus_widget &&
|
||||
gtk_widget_is_drawable (priv->prev_focus_widget))
|
||||
{
|
||||
if (GTK_IS_ENTRY (priv->prev_focus_widget))
|
||||
gtk_entry_grab_focus_without_selecting (GTK_ENTRY (priv->prev_focus_widget));
|
||||
else
|
||||
gtk_widget_grab_focus (priv->prev_focus_widget);
|
||||
}
|
||||
else if (priv->window)
|
||||
gtk_widget_grab_focus (GTK_WIDGET (priv->window));
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user