- if (hadj)
- g_return_if_fail (GTK_IS_ADJUSTMENT (hadj));
- else if (layout->hadjustment)
- hadj = new_default_adjustment ();
- if (vadj)
- g_return_if_fail (GTK_IS_ADJUSTMENT (vadj));
- else if (layout->vadjustment)
- vadj = new_default_adjustment ();
-
- if (layout->hadjustment && (layout->hadjustment != hadj))
- {
- gtk_signal_disconnect_by_data (GTK_OBJECT (layout->hadjustment), layout);
- gtk_object_unref (GTK_OBJECT (layout->hadjustment));
- }
-
- if (layout->vadjustment && (layout->vadjustment != vadj))
- {
- gtk_signal_disconnect_by_data (GTK_OBJECT (layout->vadjustment), layout);
- gtk_object_unref (GTK_OBJECT (layout->vadjustment));
- }
-
- if (layout->hadjustment != hadj)
- {
- layout->hadjustment = hadj;
- gtk_object_ref (GTK_OBJECT (layout->hadjustment));
- gtk_object_sink (GTK_OBJECT (layout->hadjustment));
- gtk_layout_set_adjustment_upper (layout->hadjustment, layout->width, FALSE);
-
- gtk_signal_connect (GTK_OBJECT (layout->hadjustment), "value_changed",
- (GtkSignalFunc) gtk_layout_adjustment_changed,
- layout);
- need_adjust = TRUE;
- }
-
- if (layout->vadjustment != vadj)
- {
- layout->vadjustment = vadj;
- gtk_object_ref (GTK_OBJECT (layout->vadjustment));
- gtk_object_sink (GTK_OBJECT (layout->vadjustment));
- gtk_layout_set_adjustment_upper (layout->vadjustment, layout->height, FALSE);
-
- gtk_signal_connect (GTK_OBJECT (layout->vadjustment), "value_changed",
- (GtkSignalFunc) gtk_layout_adjustment_changed,
- layout);
- need_adjust = TRUE;
- }