[tepl] Tab: store the GtkScrolledWindow
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tepl] Tab: store the GtkScrolledWindow
- Date: Sun, 24 May 2020 15:02:25 +0000 (UTC)
commit 07a635cd0f9198556368aee5b94045edc9d1a80c
Author: Sébastien Wilmet <swilmet gnome org>
Date: Sun May 24 16:50:17 2020 +0200
Tab: store the GtkScrolledWindow
tepl/tepl-tab.c | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
---
diff --git a/tepl/tepl-tab.c b/tepl/tepl-tab.c
index 17b062e..ad8e860 100644
--- a/tepl/tepl-tab.c
+++ b/tepl/tepl-tab.c
@@ -46,6 +46,7 @@
struct _TeplTabPrivate
{
+ GtkScrolledWindow *scrolled_window;
TeplView *view;
TeplGotoLineBar *goto_line_bar;
};
@@ -103,15 +104,20 @@ static void
tepl_tab_pack_view_default (TeplTab *tab,
TeplView *view)
{
- GtkScrolledWindow *scrolled_window;
+ if (tab->priv->scrolled_window != NULL)
+ {
+ g_warning ("The TeplTab::pack_view virtual function can be called only once.");
+ return;
+ }
- scrolled_window = create_scrolled_window ();
+ tab->priv->scrolled_window = create_scrolled_window ();
+ g_object_ref_sink (tab->priv->scrolled_window);
- gtk_container_add (GTK_CONTAINER (scrolled_window),
+ gtk_container_add (GTK_CONTAINER (tab->priv->scrolled_window),
GTK_WIDGET (view));
gtk_container_add (GTK_CONTAINER (tab),
- GTK_WIDGET (scrolled_window));
+ GTK_WIDGET (tab->priv->scrolled_window));
}
static void
@@ -277,6 +283,7 @@ tepl_tab_dispose (GObject *object)
{
TeplTab *tab = TEPL_TAB (object);
+ g_clear_object (&tab->priv->scrolled_window);
g_clear_object (&tab->priv->view);
g_clear_object (&tab->priv->goto_line_bar);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]