mirror of
https://github.com/edu4rdshl/gnome-shell.git
synced 2026-07-17 23:24:51 +00:00
st/viewport: Set adjustment properties all at once
This ensures that that property changes are notified all at the same
time and only after all were set. If we notify too early handlers
may act on a "broken" viewport.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3023>
(cherry picked from commit 5b8347f90b)
This commit is contained in:
parent
363368260a
commit
e8cdf361a4
1 changed files with 16 additions and 18 deletions
|
|
@ -310,32 +310,30 @@ st_viewport_allocate (ClutterActor *actor,
|
|||
{
|
||||
double prev_value;
|
||||
|
||||
g_object_set (G_OBJECT (priv->vadjustment),
|
||||
"lower", 0.0,
|
||||
"upper", MAX (min_height, avail_height),
|
||||
"page-size", avail_height,
|
||||
"step-increment", avail_height / 6,
|
||||
"page-increment", avail_height - avail_height / 6,
|
||||
NULL);
|
||||
|
||||
prev_value = st_adjustment_get_value (priv->vadjustment);
|
||||
st_adjustment_set_value (priv->vadjustment, prev_value);
|
||||
|
||||
st_adjustment_set_values (priv->vadjustment,
|
||||
prev_value,
|
||||
0.0,
|
||||
MAX (min_height, avail_height),
|
||||
avail_height / 6,
|
||||
avail_height - avail_height / 6,
|
||||
avail_height);
|
||||
}
|
||||
|
||||
if (priv->hadjustment)
|
||||
{
|
||||
double prev_value;
|
||||
|
||||
g_object_set (G_OBJECT (priv->hadjustment),
|
||||
"lower", 0.0,
|
||||
"upper", MAX (min_width, avail_width),
|
||||
"page-size", avail_width,
|
||||
"step-increment", avail_width / 6,
|
||||
"page-increment", avail_width - avail_width / 6,
|
||||
NULL);
|
||||
|
||||
prev_value = st_adjustment_get_value (priv->hadjustment);
|
||||
st_adjustment_set_value (priv->hadjustment, prev_value);
|
||||
|
||||
st_adjustment_set_values (priv->hadjustment,
|
||||
prev_value,
|
||||
0.0,
|
||||
MAX (min_width, avail_width),
|
||||
avail_width / 6,
|
||||
avail_width - avail_width / 6,
|
||||
avail_width);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue