Re: [ANNOUNCE] Sawfish 1.6.1 "Astral". : sawfish restart bugs, short report.

On Sat, Jan 23, 2010 at 02:27:22PM +0900, Teika Kazura wrote:
> On Wed, 20 Jan 2010 21:41:27 +0100, Janek Kozicki wrote:
> > 
> > I verified it even more precisely. This breaks exactly after 32768th
> > pixel is exceeded. Therefore: after 'sawfish restart' all windows
> > (except the maximized ones) are in their correct position. But if I
> > try to move windows that are far-right (after 2^15 pixels) they behave
> > wrongly. Which can be quickly fixed with grow-pack.
> That's nasty. Why? You know, in Xinerama.h, there's in fact short:
> typedef struct {
>    int   screen_number;
>    short x_org;
>    short y_org;
>    short width;
>    short height;
> } XineramaScreenInfo;
> I don't know what exactly happens in C integer comparison, but as far
> as I tested the other day, it's harmless. No?

What do you mean by "harmless"?  If you will take some short value
and you will add something to it to cross 2^15 boundary then a
result will end up smaller than the original.  I did not look closer
but it sounds like that this is something which happens to Janek.

> (These short values
> are accessed in "find-head" in src/functions.c.)

And likely should be treated as signed for other reasons.  Right?


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