Skip to content
This repository was archived by the owner on Sep 2, 2021. It is now read-only.

Fix rendering of gtk menus #348

Merged
merged 1 commit into from
Feb 14, 2014
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion appshell/appshell_extensions_gtk.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -565,7 +565,7 @@ GtkWidget* GetMenuBar(CefRefPtr<CefBrowser> browser)
for(iter = children; iter != NULL; iter = g_list_next(iter)) {
widget = (GtkWidget*)iter->data;

if (GTK_IS_CONTAINER(widget))
if (GTK_IS_MENU_BAR(widget))
return widget;
}

Expand All @@ -587,6 +587,7 @@ int32 AddMenu(CefRefPtr<CefBrowser> browser, ExtensionString title, ExtensionStr
GtkWidget* menuHeader = gtk_menu_item_new_with_label(title.c_str());
gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuHeader), menuWidget);
gtk_menu_shell_append(GTK_MENU_SHELL(menuBar), menuHeader);
gtk_widget_show(menuHeader);

// FIXME add lookup for menu widgets
_menuWidget = menuWidget;
Expand All @@ -605,6 +606,7 @@ int32 AddMenuItem(CefRefPtr<CefBrowser> browser, ExtensionString parentCommand,
g_signal_connect(entry, "activate", FakeCallback, NULL);
// FIXME add lookup for menu widgets
gtk_menu_shell_append(GTK_MENU_SHELL(_menuWidget), entry);
gtk_widget_show(entry);

return NO_ERROR;
}
Expand Down
4 changes: 2 additions & 2 deletions appshell/appshell_extensions_platform.h
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,9 @@ inline void* getMenuParent(CefRefPtr<CefBrowser>browser) {return NULL;} // Mac u
#else
typedef std::string ExtensionString;
inline void* getMenuParent(CefRefPtr<CefBrowser>browser) {
gtk_widget_get_ancestor(
return gtk_widget_get_ancestor(
GTK_WIDGET(browser->GetHost()->GetWindowHandle()),
GTK_TYPE_WINDOW);
GTK_TYPE_VBOX);
}
#endif

Expand Down