summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtksourceview/gtksourceassistant-private.h2
-rw-r--r--gtksourceview/gtksourceassistant.c65
-rw-r--r--gtksourceview/gtksourcecompletionlist.c2
-rw-r--r--gtksourceview/gtksourceview-snippets.c2
4 files changed, 5 insertions, 66 deletions
diff --git a/gtksourceview/gtksourceassistant-private.h b/gtksourceview/gtksourceassistant-private.h
index 568e0d7d..b0506da1 100644
--- a/gtksourceview/gtksourceassistant-private.h
+++ b/gtksourceview/gtksourceassistant-private.h
@@ -54,7 +54,7 @@ void _gtk_source_assistant_set_mark (GtkSourceAssistant
GtkTextMark *mark);
void _gtk_source_assistant_set_child (GtkSourceAssistant *assistant,
GtkWidget *child);
-void _gtk_source_assistant_set_needs_position (GtkSourceAssistant *assistant);
+gboolean _gtk_source_assistant_update_position (GtkSourceAssistant *assistant);
void _gtk_source_assistant_destroy (GtkSourceAssistant *assistant);
G_END_DECLS
diff --git a/gtksourceview/gtksourceassistant.c b/gtksourceview/gtksourceassistant.c
index ff954926..df2b710a 100644
--- a/gtksourceview/gtksourceassistant.c
+++ b/gtksourceview/gtksourceassistant.c
@@ -117,7 +117,7 @@ get_gutter_width (GtkSourceView *view)
return 0;
}
-static gboolean
+gboolean
_gtk_source_assistant_update_position (GtkSourceAssistant *assistant)
{
GtkSourceAssistantPrivate *priv = _gtk_source_assistant_get_instance_private (assistant);
@@ -179,56 +179,6 @@ _gtk_source_assistant_update_position (GtkSourceAssistant *assistant)
return changed;
}
-static gboolean
-gtk_source_assistant_reposition_tick_cb (GtkWidget *widget,
- GdkFrameClock *frame_clock,
- gpointer user_data)
-{
- GtkSourceAssistant *self = user_data;
- GtkSourceAssistantPrivate *priv = _gtk_source_assistant_get_instance_private (self);
-
- g_assert (GTK_SOURCE_IS_VIEW (widget));
- g_assert (GDK_IS_FRAME_CLOCK (frame_clock));
- g_assert (GTK_SOURCE_IS_ASSISTANT (self));
-
- priv->reposition_handler = 0;
-
- _gtk_source_assistant_update_position (self);
-
- /* We have to gtk_widget_queue_resize() to ensure that the view will
- * continue to have an allocation when the assistant gets snapshotted.
- * gtk_widget_queue_allocate() is not enough to make that happen.
- * Without this, we often get flickering of the GtkSourceView.
- */
- gtk_widget_queue_resize (widget);
-
- return G_SOURCE_REMOVE;
-}
-
-void
-_gtk_source_assistant_set_needs_position (GtkSourceAssistant *self)
-{
- GtkSourceAssistantPrivate *priv = _gtk_source_assistant_get_instance_private (self);
-
- g_return_if_fail (GTK_SOURCE_IS_ASSISTANT (self));
-
- if (priv->reposition_handler == 0)
- {
- GtkSourceView *view = _gtk_source_assistant_get_view (self);
-
- if (view == NULL)
- {
- return;
- }
-
- priv->reposition_handler =
- gtk_widget_add_tick_callback (GTK_WIDGET (view),
- gtk_source_assistant_reposition_tick_cb,
- g_object_ref (self),
- g_object_unref);
- }
-}
-
static void
_gtk_source_assistant_show (GtkWidget *widget)
{
@@ -292,18 +242,7 @@ _gtk_source_assistant_dispose (GObject *object)
g_assert (GTK_SOURCE_IS_ASSISTANT (self));
- if (priv->reposition_handler != 0)
- {
- GtkSourceView *view = _gtk_source_assistant_get_view (self);
-
- if (view != NULL)
- {
- gtk_widget_remove_tick_callback (GTK_WIDGET (view),
- priv->reposition_handler);
- }
-
- priv->reposition_handler = 0;
- }
+ g_clear_handle_id (&priv->reposition_handler, g_source_remove);
_gtk_source_assistant_detach (self);
g_clear_object (&priv->mark);
diff --git a/gtksourceview/gtksourcecompletionlist.c b/gtksourceview/gtksourcecompletionlist.c
index 3532b1b0..184b8ee5 100644
--- a/gtksourceview/gtksourcecompletionlist.c
+++ b/gtksourceview/gtksourcecompletionlist.c
@@ -263,7 +263,7 @@ _gtk_source_completion_list_reposition_cb (GtkSourceCompletionList *self)
{
g_assert (GTK_SOURCE_IS_COMPLETION_LIST (self));
- _gtk_source_assistant_set_needs_position (GTK_SOURCE_ASSISTANT (self));
+ _gtk_source_assistant_update_position (GTK_SOURCE_ASSISTANT (self));
}
static void
diff --git a/gtksourceview/gtksourceview-snippets.c b/gtksourceview/gtksourceview-snippets.c
index 7cb4c68b..b61bca14 100644
--- a/gtksourceview/gtksourceview-snippets.c
+++ b/gtksourceview/gtksourceview-snippets.c
@@ -368,7 +368,7 @@ gtk_source_view_snippets_update_informative (GtkSourceViewSnippets *snippets)
if (gtk_widget_get_visible (GTK_WIDGET (snippets->informative)))
{
- _gtk_source_assistant_set_needs_position (GTK_SOURCE_ASSISTANT (snippets->informative));
+ _gtk_source_assistant_update_position (GTK_SOURCE_ASSISTANT (snippets->informative));
}
else
{