summary refs log tree commit diff stats
path: root/results/classifier/118/none/1294898
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/118/none/1294898')
-rw-r--r--results/classifier/118/none/1294898126
1 files changed, 126 insertions, 0 deletions
diff --git a/results/classifier/118/none/1294898 b/results/classifier/118/none/1294898
new file mode 100644
index 000000000..ffb7bbc27
--- /dev/null
+++ b/results/classifier/118/none/1294898
@@ -0,0 +1,126 @@
+permissions: 0.660
+register: 0.655
+semantic: 0.648
+PID: 0.635
+architecture: 0.619
+arm: 0.618
+virtual: 0.616
+hypervisor: 0.613
+TCG: 0.610
+user-level: 0.606
+assembly: 0.601
+device: 0.594
+KVM: 0.541
+kernel: 0.530
+peripherals: 0.526
+debug: 0.523
+graphic: 0.512
+vnc: 0.493
+network: 0.473
+performance: 0.462
+boot: 0.441
+socket: 0.429
+VMM: 0.421
+risc-v: 0.420
+x86: 0.387
+files: 0.376
+i386: 0.362
+ppc: 0.357
+mistranslation: 0.315
+
+gtk: menubar visible in fullscreen mode with gtk3
+
+Using the gtk UI, compiled with gtk3, the menu bar is fully visible in full screen mode. On gtk2 it's hidden. The set_size_request call isn't abided on gtk3 it seems.
+
+Simple fix is:
+
+diff --git a/ui/gtk.c b/ui/gtk.c
+index 66e886f..7b3bd3d 100644
+--- a/ui/gtk.c
++++ b/ui/gtk.c
+@@ -805,7 +805,7 @@ static void gd_menu_full_screen(GtkMenuItem *item, void *opaque)
+ 
+     if (!s->full_screen) {
+         gtk_notebook_set_show_tabs(GTK_NOTEBOOK(s->notebook), FALSE);
+-        gtk_widget_set_size_request(s->menu_bar, 0, 0);
++        gtk_widget_hide(s->menu_bar);
+         gtk_widget_set_size_request(s->drawing_area, -1, -1);
+         gtk_window_fullscreen(GTK_WINDOW(s->window));
+         if (gd_on_vga(s)) {
+@@ -815,7 +815,7 @@ static void gd_menu_full_screen(GtkMenuItem *item, void *opaque)
+     } else {
+         gtk_window_unfullscreen(GTK_WINDOW(s->window));
+         gd_menu_show_tabs(GTK_MENU_ITEM(s->show_tabs_item), s);
+-        gtk_widget_set_size_request(s->menu_bar, -1, -1);
++        gtk_widget_show(s->menu_bar);
+         gtk_widget_set_size_request(s->drawing_area,
+                                     surface_width(s->ds),
+                                     surface_height(s->ds));
+
+
+The problem with that is that hiding the menu bar means all its associated accelerators are no longer usable, so there's way to exit fullscreen mode. That's kind of a problem :)
+
+We can install the accelerators on the window, but make sure the menu item still shows the accelerator short cut. Example with the fullscreen accelerator:
+
+diff --git a/ui/gtk.c b/ui/gtk.c
+index 66e886f..fbce2b0 100644
+--- a/ui/gtk.c
++++ b/ui/gtk.c
+@@ -799,7 +799,7 @@ static void gd_menu_show_tabs(GtkMenuItem *item, void *opaque)
+     }
+ }
+ 
+-static void gd_menu_full_screen(GtkMenuItem *item, void *opaque)
++static void gd_do_full_screen(void *opaque)
+ {
+     GtkDisplayState *s = opaque;
+ 
+@@ -828,6 +828,11 @@ static void gd_menu_full_screen(GtkMenuItem *item, void *opaque)
+     gd_update_cursor(s, FALSE);
+ }
+ 
++static void gd_menu_full_screen(GtkMenuItem *item, void *opaque)
++{
++    gd_do_full_screen(opaque);
++}
++
+ static void gd_menu_zoom_in(GtkMenuItem *item, void *opaque)
+ {
+     GtkDisplayState *s = opaque;
+@@ -1304,10 +1309,11 @@ static GtkWidget *gd_create_menu_view(GtkDisplayState *s, GtkAccelGroup *accel_g
+     gtk_menu_set_accel_group(GTK_MENU(view_menu), accel_group);
+ 
+     s->full_screen_item = gtk_menu_item_new_with_mnemonic(_("_Fullscreen"));
+-    gtk_menu_item_set_accel_path(GTK_MENU_ITEM(s->full_screen_item),
+-                                 "<QEMU>/View/Full Screen");
+-    gtk_accel_map_add_entry("<QEMU>/View/Full Screen", GDK_KEY_f,
+-                            HOTKEY_MODIFIERS);
++    gtk_accel_group_connect(accel_group, GDK_KEY_f, HOTKEY_MODIFIERS, 0,
++         g_cclosure_new_swap(G_CALLBACK(gd_do_full_screen), s, NULL));
++    gtk_accel_label_set_accel(
++        GTK_ACCEL_LABEL(gtk_bin_get_child(GTK_BIN(s->full_screen_item))),
++        GDK_KEY_f, HOTKEY_MODIFIERS);
+     gtk_menu_shell_append(GTK_MENU_SHELL(view_menu), s->full_screen_item);
+ 
+     separator = gtk_separator_menu_item_new();
+
+
+However gtk_accel_label_set_accel, which shows the accel key sequence in the menu, is gtk 3.8+ :/ So older versions wouldn't have any visual indication of the shortcuts. Maybe that's not a problem, SDL didn't have any indication of shortcuts either.
+
+For what it's worth, Gerd replied on the list that
+
+> Patch trades one bug for another. Hiding the menu bar also kills the
+> accelerator keys, which is especially problematic for the fullscreen
+> hotkey as there is no way out of fullscreen mode then.
+
+Mailing list discussion:
+
+https://lists.gnu.org/archive/html/qemu-devel/2014-10/msg00510.html
+
+When Gerd made the comment quoted above, he hadn't read the full report. If someone wants to flesh out my patch bits and send it to qemu-devel it will be easier to follow up there.
+
+Status changed to 'Confirmed' because the bug affects multiple users.
+
+Patch has been included upstream here:
+http://git.qemu.org/?p=qemu.git;a=commitdiff;h=b0f3182064c4943b91d
+