diff options
author | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-15 04:19:01 +0000 |
---|---|---|
committer | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-15 04:19:01 +0000 |
commit | 5a67535997a41c9ad61bc39f33b46cfd572d73a9 (patch) | |
tree | f374c4833e7c1abb20248c0f995ff710c1699799 /chrome | |
parent | f0f67972c9323e066bdf9d0ca47e3553dbd54843 (diff) | |
download | chromium_src-5a67535997a41c9ad61bc39f33b46cfd572d73a9.zip chromium_src-5a67535997a41c9ad61bc39f33b46cfd572d73a9.tar.gz chromium_src-5a67535997a41c9ad61bc39f33b46cfd572d73a9.tar.bz2 |
Revert r20667, which broke dropdown menus.
TBR=evan
Review URL: http://codereview.chromium.org/155557
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20717 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/gtk/bookmark_manager_gtk.cc | 5 | ||||
-rw-r--r-- | chrome/browser/gtk/browser_window_gtk.cc | 5 | ||||
-rw-r--r-- | chrome/browser/gtk/dialogs_gtk.cc | 14 |
3 files changed, 6 insertions, 18 deletions
diff --git a/chrome/browser/gtk/bookmark_manager_gtk.cc b/chrome/browser/gtk/bookmark_manager_gtk.cc index e1c43ae..dab3508 100644 --- a/chrome/browser/gtk/bookmark_manager_gtk.cc +++ b/chrome/browser/gtk/bookmark_manager_gtk.cc @@ -328,11 +328,6 @@ void BookmarkManagerGtk::InitWidgets() { gtk_window_set_title(GTK_WINDOW(window_), l10n_util::GetStringUTF8(IDS_BOOKMARK_MANAGER_TITLE).c_str()); - // Add this window to its own unique window group to allow for - // window-to-parent modality. - gtk_window_group_add_window(gtk_window_group_new(), GTK_WINDOW(window_)); - g_object_unref(gtk_window_get_group(GTK_WINDOW(window_))); - // Set the default size of the bookmark manager. int width, height; gtk_util::GetWidgetSizeFromResources(window_, diff --git a/chrome/browser/gtk/browser_window_gtk.cc b/chrome/browser/gtk/browser_window_gtk.cc index e716d79..de819b0 100644 --- a/chrome/browser/gtk/browser_window_gtk.cc +++ b/chrome/browser/gtk/browser_window_gtk.cc @@ -385,11 +385,6 @@ BrowserWindowGtk::BrowserWindowGtk(Browser* browser) gtk_widget_add_events(GTK_WIDGET(window_), GDK_BUTTON_PRESS_MASK | GDK_POINTER_MOTION_MASK); - // Add this window to its own unique window group to allow for - // window-to-parent modality. - gtk_window_group_add_window(gtk_window_group_new(), window_); - g_object_unref(gtk_window_get_group(window_)); - SetWindowIcon(); SetBackgroundColor(); SetGeometryHints(); diff --git a/chrome/browser/gtk/dialogs_gtk.cc b/chrome/browser/gtk/dialogs_gtk.cc index 3a32526..62de9ce6 100644 --- a/chrome/browser/gtk/dialogs_gtk.cc +++ b/chrome/browser/gtk/dialogs_gtk.cc @@ -27,7 +27,11 @@ static const int kPreviewHeight = 512; // Implementation of SelectFileDialog that shows a Gtk common dialog for // choosing a file or folder. -// This acts as a modal dialog. +// This acts as a modal dialog. Ideally we want to only act modally for the +// parent window and allow other toplevel chrome windows to still function while +// the dialog is showing, but we need the GtkWindowGroup or something similar to +// get that, and that API is only available in more recent versions of GTK. +// TODO(port): fix modality: crbug.com/8727 class SelectFileDialogImpl : public SelectFileDialog { public: explicit SelectFileDialogImpl(Listener* listener); @@ -204,13 +208,7 @@ void SelectFileDialogImpl::SelectFile( gtk_file_chooser_set_preview_widget(GTK_FILE_CHOOSER(dialog), preview_); params_map_[dialog] = params; - - // Set window-to-parent modality by adding the dialog to the same window - // group as the parent, and calling gtk_grab_add(...) - gtk_window_group_add_window(gtk_window_get_group(owning_window), - GTK_WINDOW(dialog)); - gtk_grab_add(dialog); - + gtk_window_set_modal(GTK_WINDOW(dialog), TRUE); gtk_widget_show_all(dialog); } |