- 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))
- {
- g_signal_handlers_disconnect_by_func (layout->hadjustment,
- gtk_layout_adjustment_changed,
- layout);
- g_object_unref (layout->hadjustment);
- }
-
- if (layout->vadjustment && (layout->vadjustment != vadj))
- {
- g_signal_handlers_disconnect_by_func (layout->vadjustment,
- gtk_layout_adjustment_changed,
- layout);
- g_object_unref (layout->vadjustment);
- }
-
- if (layout->hadjustment != hadj)
- {
- layout->hadjustment = hadj;
- g_object_ref (layout->hadjustment);
- gtk_object_sink (GTK_OBJECT (layout->hadjustment));
- gtk_layout_set_adjustment_upper (layout->hadjustment, layout->width, FALSE);
-
- g_signal_connect (layout->hadjustment, "value_changed",
- G_CALLBACK (gtk_layout_adjustment_changed),
- layout);
- need_adjust = TRUE;
- }
-
- if (layout->vadjustment != vadj)
- {
- layout->vadjustment = vadj;
- g_object_ref (layout->vadjustment);
- gtk_object_sink (GTK_OBJECT (layout->vadjustment));
- gtk_layout_set_adjustment_upper (layout->vadjustment, layout->height, FALSE);
-
- g_signal_connect (layout->vadjustment, "value_changed",
- G_CALLBACK (gtk_layout_adjustment_changed),
- layout);
- need_adjust = TRUE;
- }