A lot of printf's and I realized that the wrong windows are chosen. Then I've 
discovered that the wrong window are at the top of the list.

Dennis

Am Samstag 28 Februar 2009 03:07:10 schrieb Sam Spilsbury:
> OK, thanks.
>
> How did you track it down?
>
> Kind Regards,
>
> Sam.
>
>
> On Sat, Feb 28, 2009 at 1:14 AM, Dennis Kasprzyk
>
> <[email protected]> wrote:
> > Was a bug in the compare function. Fixed it in
> > 59423aaf7e71cdd1fb52267065304a27394de2f7
> >
> > Dennis
> >
> > Am Freitag 27 Februar 2009 05:23:33 schrieb Sam Spilsbury:
> >> Hi,
> >>
> >> Some of you might be aware that there is a critical bug in the
> >> compiz++ version of scale where if scale was initiated with more than
> >> 10 windows, compiz would go into an infinite loop, using 99% CPU and
> >> requiring that the user puts their system in single-user mode to get
> >> rid of compiz.
> >>
> >> I have tracked down the bug to a problem in findBestSlots () function
> >> in PrivateScaleScreen where the line 'if (d0 + d < sw->priv->distance)
> >> ...' meant that some windows were never assigned a slot ID number.
> >> This in turn meant that fillInWindows would fail to return false
> >> because two slots had the same ID number (0). This in turn meant that
> >> the 'do { .... } while (priv->fillInWindows ())' would become
> >> infinite.
> >>
> >> In order to fix this, I had to remove that if statement and assign an
> >> ID number to all windows that should be scaled. There are no
> >> regressions so far and scale appears to work with more than 200
> >> windows open. sw->distance has been kept, but I don't see much of a
> >> reason for it, other than the compareWindowsDistance function.
> >>
> >> The patch is attached. Obviously, I would classify it as a workaround
> >> as that if statement was probably there for a reason (undocumented
> >> however), however if we can't fix this bug it would be a major
> >> stability regression once users move to compiz++.
> >>
> >> Kind Regards,
> >>
> >> Sam.
> >
> > _______________________________________________
> > Dev mailing list
> > [email protected]
> > http://lists.compiz-fusion.org/mailman/listinfo/dev


_______________________________________________
Dev mailing list
[email protected]
http://lists.compiz-fusion.org/mailman/listinfo/dev

Reply via email to