Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FreeRDP/Remmina.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiovanni Panozzo <giovanni@panozzo.it>2022-11-09 20:41:59 +0300
committerGiovanni Panozzo <giovanni@panozzo.it>2022-11-09 20:41:59 +0300
commit090235e4b6a473d261a7d8b964a8e71e10bc9405 (patch)
tree307a8461f2b4b4366ce89ae3a61e4710586661b0
parentd42ebee509d973191b0e541ad2a9f0532be885ba (diff)
parent6f52ca0db41af9cfb10656af9d4f9b03d94c24c0 (diff)
Merge branch 'ftb_fixes' into 'master'
Fix floating toolbar not disappearing when in fullscreen and keyboard grabbed Closes #2710 See merge request Remmina/Remmina!2441
-rw-r--r--src/rcw.c27
1 files changed, 19 insertions, 8 deletions
diff --git a/src/rcw.c b/src/rcw.c
index 8f008f9e2..49fc4c562 100644
--- a/src/rcw.c
+++ b/src/rcw.c
@@ -2758,14 +2758,6 @@ static void rcw_set_toolbar_visibility(RemminaConnectionWindow *cnnwin)
}
}
-static gboolean rcw_floating_toolbar_on_enter(GtkWidget *widget, GdkEventCrossing *event,
- RemminaConnectionWindow *cnnwin)
-{
- TRACE_CALL(__func__);
- rcw_floating_toolbar_show(cnnwin, TRUE);
- return TRUE;
-}
-
#if DEBUG_KB_GRABBING
static void print_crossing_event(GdkEventCrossing *event) {
printf("DEBUG_KB_GRABBING: --- Crossing event detail: ");
@@ -2796,6 +2788,24 @@ static void print_crossing_event(GdkEventCrossing *event) {
}
#endif
+static gboolean rcw_floating_toolbar_on_enter(GtkWidget *widget, GdkEventCrossing *event,
+ RemminaConnectionWindow *cnnwin)
+{
+ TRACE_CALL(__func__);
+ rcw_floating_toolbar_show(cnnwin, TRUE);
+ return TRUE;
+}
+
+static gboolean rcw_floating_toolbar_on_leave(GtkWidget *widget, GdkEventCrossing *event,
+ RemminaConnectionWindow *cnnwin)
+{
+ TRACE_CALL(__func__);
+ if (event->detail != GDK_NOTIFY_INFERIOR)
+ rcw_floating_toolbar_show(cnnwin, FALSE);
+ return TRUE;
+}
+
+
static gboolean rcw_on_enter_notify_event(GtkWidget *widget, GdkEventCrossing *event,
gpointer user_data)
{
@@ -3890,6 +3900,7 @@ static void rcw_create_overlay_ftb_overlay(RemminaConnectionWindow *cnnwin)
rcw_floating_toolbar_show(cnnwin, TRUE);
g_signal_connect(G_OBJECT(priv->overlay_ftb_overlay), "enter-notify-event", G_CALLBACK(rcw_floating_toolbar_on_enter), cnnwin);
+ g_signal_connect(G_OBJECT(priv->overlay_ftb_overlay), "leave-notify-event", G_CALLBACK(rcw_floating_toolbar_on_leave), cnnwin);
g_signal_connect(G_OBJECT(priv->overlay_ftb_overlay), "scroll-event", G_CALLBACK(rcw_floating_toolbar_on_scroll), cnnwin);
gtk_widget_add_events(
GTK_WIDGET(priv->overlay_ftb_overlay),