Re: GTK adjustement changes create incompatible behaviour between versions?



Le samedi 20 septembre 2008 à 12:17 +0100, Emmanuele Bassi a écrit :
> read this bit above again...
> 
> > This is not true. See #307963. From the gtk 2.12 documentation for
> > GtkAdjustment:
> > 
> > "The page size of the adjustment. Note that the page-size is
> > irrelevant and should be set to zero if the adjustment is used for a
> > simple scalar value, e.g. in a GtkSpinButton."
> 
> ... and the documentation.
> 
> both are telling you that you should set the page_size to 0 for
> SpinButtons or sliders.

There is a difference between "should" and "must". As it is currently
worded, the documentation lets you think the value can be safely
ignored, which is the case in 2.12. Even worse, since Glade uses a
default of 10 which was ignored, it has certainly slipped in hundreds,
if not thousands of applications.

> the documentation for GtkAdjustment already says that the accepted value
> range is [lower, upper - page_size]. the enforcing apparently breaks
> broken application accessing the GtkAdjustment data structure -
> something gtk+ cannot prevent.

No. The documentation says that the accepted value range *for
GtkScrollbar*. Which implies this is not the case for other widgets!

> > Definitely it is a break. No opinion on if the new behavior is better or not.
> 
> now tell me: what difference do you see between the documentation and
> the enforcing of the documentation that you consider a break?

The difference is that you are knowingly breaking hundreds of
applications. You are able to fix those distributed by GNOME in a snap
and that’s all good, but you let downstream distributors with hundreds
of broken applications in their hands. The only solution we have is to
revert this change, because we simply can't afford it.

Even if we fix all our packages (and that would take a few weeks), the
problem of non-free applications remains. GTK+ is not just a random
library that you can afford to break a each and every release, it is one
of the more widely used toolkits. If the wording of the documentation
was not clear enough, that’s bad, but it’s too late, you can’t break it
now.

Now for more constructive discussion:
      * would it work if GtkSpinButtons (and maybe GtkScale) forced
        page_size to be 0 in the constructors and in ..._set_adjustment?
      * if it is not the case, the only sane solution is to delay this
        change until GTK+ 3.0, as already suggested.

Cheers,
-- 
 .''`.
: :' :      We are debian.org. Lower your prices, surrender your code.
`. `'       We will add your hardware and software distinctiveness to
  `-        our own. Resistance is futile.

Attachment: signature.asc
Description: Ceci est une partie de message =?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e?=



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]