]> Pileus Git - ~andy/gtk/commitdiff
check for existing viewport first, and don't add one if there already is
authorManish Singh <yosh@src.gnome.org>
Sat, 28 Nov 1998 03:05:31 +0000 (03:05 +0000)
committerManish Singh <yosh@src.gnome.org>
Sat, 28 Nov 1998 03:05:31 +0000 (03:05 +0000)
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_add_with_viewport):
check for existing viewport first, and don't add one if there
already is one

-Yosh

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkscrolledwindow.c

index 4212541e4b1f9d12f67a31ede4debab04093660a..0dd754cebd04bfe2581e25e10d7f5ee779677081 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Fri Nov 27 18:57:20 PST 1998 Manish Singh <yosh@gimp.org>
+
+       * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add_with_viewport):
+       check for existing viewport first, and don't add one if there
+       already is one
+
 Sat Nov 28 00:06:49 1998  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkwidget.h: 
index 4212541e4b1f9d12f67a31ede4debab04093660a..0dd754cebd04bfe2581e25e10d7f5ee779677081 100644 (file)
@@ -1,3 +1,9 @@
+Fri Nov 27 18:57:20 PST 1998 Manish Singh <yosh@gimp.org>
+
+       * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add_with_viewport):
+       check for existing viewport first, and don't add one if there
+       already is one
+
 Sat Nov 28 00:06:49 1998  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkwidget.h: 
index 4212541e4b1f9d12f67a31ede4debab04093660a..0dd754cebd04bfe2581e25e10d7f5ee779677081 100644 (file)
@@ -1,3 +1,9 @@
+Fri Nov 27 18:57:20 PST 1998 Manish Singh <yosh@gimp.org>
+
+       * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add_with_viewport):
+       check for existing viewport first, and don't add one if there
+       already is one
+
 Sat Nov 28 00:06:49 1998  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkwidget.h: 
index 4212541e4b1f9d12f67a31ede4debab04093660a..0dd754cebd04bfe2581e25e10d7f5ee779677081 100644 (file)
@@ -1,3 +1,9 @@
+Fri Nov 27 18:57:20 PST 1998 Manish Singh <yosh@gimp.org>
+
+       * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add_with_viewport):
+       check for existing viewport first, and don't add one if there
+       already is one
+
 Sat Nov 28 00:06:49 1998  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkwidget.h: 
index 4212541e4b1f9d12f67a31ede4debab04093660a..0dd754cebd04bfe2581e25e10d7f5ee779677081 100644 (file)
@@ -1,3 +1,9 @@
+Fri Nov 27 18:57:20 PST 1998 Manish Singh <yosh@gimp.org>
+
+       * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add_with_viewport):
+       check for existing viewport first, and don't add one if there
+       already is one
+
 Sat Nov 28 00:06:49 1998  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkwidget.h: 
index 4212541e4b1f9d12f67a31ede4debab04093660a..0dd754cebd04bfe2581e25e10d7f5ee779677081 100644 (file)
@@ -1,3 +1,9 @@
+Fri Nov 27 18:57:20 PST 1998 Manish Singh <yosh@gimp.org>
+
+       * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add_with_viewport):
+       check for existing viewport first, and don't add one if there
+       already is one
+
 Sat Nov 28 00:06:49 1998  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkwidget.h: 
index 4212541e4b1f9d12f67a31ede4debab04093660a..0dd754cebd04bfe2581e25e10d7f5ee779677081 100644 (file)
@@ -1,3 +1,9 @@
+Fri Nov 27 18:57:20 PST 1998 Manish Singh <yosh@gimp.org>
+
+       * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add_with_viewport):
+       check for existing viewport first, and don't add one if there
+       already is one
+
 Sat Nov 28 00:06:49 1998  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkwidget.h: 
index 944026fc2bc1e3908ee849d35b58fb2742ce7b4c..ea7939f4dd8db32a18d1225980618278ccf86ce6 100644 (file)
@@ -867,13 +867,23 @@ gtk_scrolled_window_add_with_viewport (GtkScrolledWindow *scrolled_window,
   g_return_if_fail (GTK_IS_SCROLLED_WINDOW (scrolled_window));
   g_return_if_fail (child != NULL);
   g_return_if_fail (GTK_IS_WIDGET (child));
-  g_return_if_fail (scrolled_window->child == NULL);
   g_return_if_fail (child->parent == NULL);
 
-  viewport =
-    gtk_viewport_new (gtk_scrolled_window_get_hadjustment (scrolled_window),
-                     gtk_scrolled_window_get_vadjustment (scrolled_window));
+  if (scrolled_window->child != NULL)
+    {
+      g_return_if_fail (GTK_IS_VIEWPORT (scrolled_window->child));
+      g_return_if_fail (GTK_BIN (scrolled_window->child)->child == NULL);
+
+      viewport = scrolled_window->child;
+    }
+  else
+    {
+      viewport =
+        gtk_viewport_new (gtk_scrolled_window_get_hadjustment (scrolled_window),
+                         gtk_scrolled_window_get_vadjustment (scrolled_window));
+      gtk_container_add (GTK_CONTAINER (scrolled_window), viewport);
+    }
+
   gtk_widget_show (viewport);
   gtk_container_add (GTK_CONTAINER (viewport), child);
-  gtk_container_add (GTK_CONTAINER (scrolled_window), viewport);
 }