On Sat, Sep 13, 2014 at 09:41:25PM +0100, Thomas Adam wrote:
> On Sat, Sep 13, 2014 at 09:39:20PM +0100, Dominik Vogt wrote:
> > On Sat, Sep 13, 2014 at 09:15:29PM +0100, Thomas Adam wrote:
> > > On Sat, Sep 13, 2014 at 08:54:06PM +0100, Thomas Adam wrote:
> > > > On Sat, Sep 13, 2014 at 01:00:58PM +0100, Dominik Vogt wrote:
> > > > > On Sat, Sep 13, 2014 at 11:44:30AM +0100, Thomas Adam wrote:
> > > > > > I'm showing the fact that this NearestNeigbour function is run from
> > > > > > MvwmEvent usually, although enabling that by default causes the 
> > > > > > segfault
> > > > > > to happen more quickly so I've disabled that.
> > > > > > 
> > > > > 
> > > > > Do you have a reliable way to trigger this?  I don't know what to do.
> > > > 
> > > > I've spent the whole day on this and am going cross-eyed.  I've narrowed
> > > > down the segfault case to just calling the "All" conditional command.
> > > 
> > > OK.  Ignore me.  I had this problem, but it seems to have gone away when
> > > you removed the Repeat command.  Not that I have the foggiest why that
> > > suddenly made things better.
> > 
> > But I had already fixed the crash in the morning.  Didn't you see
> > the message?  The one that said that "True == 0" in x and I
> > checked a function returning True agains 1?
> 
> I did---I've been running with it all day.  :)
> 
> > > Well that's a waste.  Now I'm going to take a look at your work,
> > > Dominik.
> > 
> > Maybe you can take a look at FScreenParseGeometry?  I'm going nuts
> > with the weird onld logic, trying to find the bug in the new one.
> 
> I'll take a look.

Ah, now I know what's broken.  FScreenParseGeometry returns the
geometry relative to the global screen.  When you have judt one
screen and have +0-0@0, that translates to x=0, y=-0, YNegative
set.  When you have multiple screens, the original value is
relative to the given screen 0.  I.e. -0@0 ist identical to
-(y -(highest_y_of_global - highest_y_of_screen_0))@g

with

  y = 0
  highest_y_of_global = height of the gloal screen
  highest_y_of_screen_0 = (y + height) of screen 0

That's what the code in fvwm does, but not in mvwm.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt

Reply via email to