Refresh issue when dynamically changing objects in a non active window

Discuss GUI programming with the MUI Royale plugin here
Post Reply
User avatar
jPV
Posts: 202
Joined: Sat Mar 26, 2016 10:44 am
Location: RNO
Contact:

Refresh issue when dynamically changing objects in a non active window

Post by jPV » Sun Jan 13, 2019 11:31 am

I think this might be a MorphOS bug and reported there, but as I haven't got any feedback from MorphOS team yet, I thought to ask what Andreas thinks about it too. If it'd be something in Hollywood after all...

If I change objects in a group in a MUI window dynamically, and the window isn't active, the window doesn't get refreshed properly. The inactive window gets filled with the background color, and even its borders disappear. The window gets drawn properly only after I move the mouse over it, I don't have to activate it by clicking, but just move the mouse pointer over it.

Here is a test program, which just displays one line of text initially, waits for 2 seconds, and adds an image object to the window after it.
http://jpv.wmhost.com/testi/muitesting/ ... shtest.lha

When I launch that under MorphOS, it shows this window after the 2 seconds:
http://jpv.wmhost.com/testi/muitesting/Grab1.png

And then only after I move mouse over it, it gets refreshed to what it's supposed to look:
http://jpv.wmhost.com/testi/muitesting/Grab2.png

I can reproduce it only on MorphOS but not on AmigaOS 3 or 4. With AmigaOS window contents get refreshed properly immediately.

User avatar
airsoftsoftwair
Posts: 2777
Joined: Fri Feb 12, 2010 2:33 pm
Location: Germany
Contact:

Re: Refresh issue when dynamically changing objects in a non active window

Post by airsoftsoftwair » Sun Jan 13, 2019 11:44 am

Definitely a MorphOS MUI bug if you ask me... MUI Royale doesn't do such lowlevel stuff at all, it just calls the respective MUI functions.

User avatar
jPV
Posts: 202
Joined: Sat Mar 26, 2016 10:44 am
Location: RNO
Contact:

Re: Refresh issue when dynamically changing objects in a non active window

Post by jPV » Sun Jan 13, 2019 2:04 pm

Yeah, well.. it seems to refresh the window on any event, so I made a workaround like this now "SetTimeout(Nil, Function() EndFunction, 10)" just to trigger some event :)

Post Reply