Don't use the default stage when setting up adjustments
If the actor isn't in a stage, then setting up the adjustment based on the actor's size (which we can't compute) and the size of the default stage (which isn't relevant), doesn't make sense. Just use arbitrary default values. The adjustments will be updated to reasonable values when first the box is first allocated. It's not entirely clear to me why we ever want to compute the adjustment settings this way; perhaps we should always use default values. http://bugzilla.moblin.org/show_bug.cgi?id=6307
This commit is contained in:
parent
70cb8e180b
commit
faeda5dc8b
@ -138,8 +138,6 @@ scrollable_get_adjustments (NbtkScrollable *scrollable,
|
|||||||
|
|
||||||
actor = CLUTTER_ACTOR (scrollable);
|
actor = CLUTTER_ACTOR (scrollable);
|
||||||
stage = clutter_actor_get_stage (actor);
|
stage = clutter_actor_get_stage (actor);
|
||||||
if (G_UNLIKELY (stage == NULL))
|
|
||||||
stage = clutter_stage_get_default ();
|
|
||||||
|
|
||||||
if (hadjustment)
|
if (hadjustment)
|
||||||
{
|
{
|
||||||
@ -150,9 +148,16 @@ scrollable_get_adjustments (NbtkScrollable *scrollable,
|
|||||||
NbtkAdjustment *adjustment;
|
NbtkAdjustment *adjustment;
|
||||||
gdouble width, stage_width, increment;
|
gdouble width, stage_width, increment;
|
||||||
|
|
||||||
width = clutter_actor_get_width (actor);
|
if (stage)
|
||||||
stage_width = clutter_actor_get_width (stage);
|
{
|
||||||
increment = MAX (1.0, MIN (stage_width, width));
|
width = clutter_actor_get_width (actor);
|
||||||
|
stage_width = clutter_actor_get_width (stage);
|
||||||
|
increment = MAX (1.0, MIN (stage_width, width));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
width = increment = 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
adjustment = nbtk_adjustment_new (0,
|
adjustment = nbtk_adjustment_new (0,
|
||||||
0,
|
0,
|
||||||
@ -178,9 +183,16 @@ scrollable_get_adjustments (NbtkScrollable *scrollable,
|
|||||||
NbtkAdjustment *adjustment;
|
NbtkAdjustment *adjustment;
|
||||||
gdouble height, stage_height, increment;
|
gdouble height, stage_height, increment;
|
||||||
|
|
||||||
height = clutter_actor_get_height (actor);
|
if (stage)
|
||||||
stage_height = clutter_actor_get_height (stage);
|
{
|
||||||
increment = MAX (1.0, MIN (stage_height, height));
|
height = clutter_actor_get_height (actor);
|
||||||
|
stage_height = clutter_actor_get_height (stage);
|
||||||
|
increment = MAX (1.0, MIN (stage_height, height));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
height = increment = 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
adjustment = nbtk_adjustment_new (0,
|
adjustment = nbtk_adjustment_new (0,
|
||||||
0,
|
0,
|
||||||
|
Loading…
Reference in New Issue
Block a user