diff options
author | Xan Lopez <xan@igalia.com> | 2012-03-01 00:41:55 +0800 |
---|---|---|
committer | Xan Lopez <xan@igalia.com> | 2012-03-07 04:49:44 +0800 |
commit | 1e8ee19ea0e651414c98d0f863b76c72d484cf83 (patch) | |
tree | ed972d4c95b0faec095eec4a6188486937227816 /src | |
parent | 92dec4e47d68bfb77be9ff256fcf44d1407d4ef4 (diff) | |
download | gsoc2013-epiphany-1e8ee19ea0e651414c98d0f863b76c72d484cf83.tar gsoc2013-epiphany-1e8ee19ea0e651414c98d0f863b76c72d484cf83.tar.gz gsoc2013-epiphany-1e8ee19ea0e651414c98d0f863b76c72d484cf83.tar.bz2 gsoc2013-epiphany-1e8ee19ea0e651414c98d0f863b76c72d484cf83.tar.lz gsoc2013-epiphany-1e8ee19ea0e651414c98d0f863b76c72d484cf83.tar.xz gsoc2013-epiphany-1e8ee19ea0e651414c98d0f863b76c72d484cf83.tar.zst gsoc2013-epiphany-1e8ee19ea0e651414c98d0f863b76c72d484cf83.zip |
ephy-location-controller: smoother redraw of the completion popup
Workaround some bugs in entry completion's redraw code. See
https://bugzilla.gnome.org/show_bug.cgi?id=671074
Diffstat (limited to 'src')
-rw-r--r-- | src/ephy-location-controller.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/ephy-location-controller.c b/src/ephy-location-controller.c index 9315ad6cf..5908967a4 100644 --- a/src/ephy-location-controller.c +++ b/src/ephy-location-controller.c @@ -165,6 +165,18 @@ entry_activate_cb (GtkEntry *entry, } static void +update_done_cb (EphyHistoryService *service, + gboolean success, + gpointer result_data, + gpointer user_data) +{ + /* FIXME: this hack is needed for the completion entry popup + * to resize smoothly. See: + * https://bugzilla.gnome.org/show_bug.cgi?id=671074 */ + gtk_entry_completion_complete (GTK_ENTRY_COMPLETION (user_data)); +} + +static void user_changed_cb (GtkWidget *widget, EphyLocationController *controller) { const char *address; @@ -182,7 +194,7 @@ user_changed_cb (GtkWidget *widget, EphyLocationController *controller) model = gtk_entry_completion_get_model (completion); ephy_completion_model_update_for_string (EPHY_COMPLETION_MODEL (model), address, - NULL, NULL); + update_done_cb, completion); g_signal_handlers_unblock_by_func (controller, G_CALLBACK (sync_address), widget); } |