Bug 601869 - GtkUIManager assumes too much about popup menus
Check that the child of a popup menu item is actually a GtkAccelLabel before setting its "accel-closure" property.
This commit is contained in:
@ -31,6 +31,7 @@
|
|||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include "gtkaccellabel.h"
|
||||||
#include "gtkactivatable.h"
|
#include "gtkactivatable.h"
|
||||||
#include "gtkbuildable.h"
|
#include "gtkbuildable.h"
|
||||||
#include "gtkimagemenuitem.h"
|
#include "gtkimagemenuitem.h"
|
||||||
@ -2615,8 +2616,9 @@ update_node (GtkUIManager *self,
|
|||||||
if (in_popup && !popup_accels)
|
if (in_popup && !popup_accels)
|
||||||
{
|
{
|
||||||
/* don't show accels in popups */
|
/* don't show accels in popups */
|
||||||
GtkWidget *label = GTK_BIN (info->proxy)->child;
|
GtkWidget *child = gtk_bin_get_child (GTK_BIN (info->proxy));
|
||||||
g_object_set (label, "accel-closure", NULL, NULL);
|
if (GTK_IS_ACCEL_LABEL (child))
|
||||||
|
g_object_set (child, "accel-closure", NULL, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user