Ghost panels again
@Christoph-Hart Any news on the resolution of this serious bug?
Here's a simple project that demonstrates the problem reliably (I posted this in the thread @ustk linked but it's buried in there).
Hi there, a long time I haven't put my feet on the forum, I see a thousand commits have happened since then, many of them are awesome!
Is there any progression in regard to solving this bug?
I hope everyone's projects are going fine!
@ustk Where have you been!?
I haven't tested the ghost panel issue since I found a workaround (drawing on the parent panel instead of the ghosts) but I reckon the issue is still unresolved.
@d-healey Thanks for asking, I've been working on other projects, and needed personal break I'd say...
Well, I can't make a use of any workaround in my case and need it to work more than ever. My beta testers are asking what is happening and sending me recurrent screenshots of the issue like this one:
@Christoph-Hart could we finally get a fix for this please?
@ustk Welcome again mate, I hope there is no break anymore :)
Welcome back Greg and yes, let's get this sorted.
@d-healey I think your example hasn't anything to do with ghost panels - it's just that you need to preload any image resource that you want to use in a child panel.
If I load the image in the
onInitcallback it works without issues and I wouldn't call this a deal breaking bug, just a minor glitch that you should be able to work around (but you've probably did something similar).
If someone can make another example that reproduces the issue (or post a link to it if it got buried somewhere) I'll take a look.
@Christoph-Hart Pretty sure I'm preloading the images in my example. I'll dig out again and check.
@Christoph-Hart @orange Thanks Mates !
well the biggest problem is that I can't reproduce it consistently, you can run it a quite many times before it throws the issue
Though I can say it happens both in Hise and the exported app
I can share the project if you want, but I have either to modify it (because I use a modified version of Hise with some APIs) or provide you with Hise directly (you need audio inputs enabled to use my app), so I assume you need a debug version ?
I will also work on a snippet that could reproduce the bug, but I quasi sure the panel thing has to be complex enough to see the bug arriving…
Ok it was in this post - https://forum.hise.audio/topic/5706/beta-test-finally-i-have-a-new-product-almost/90?_=1669329860943
I think it is a preload issue in this case. Although I am loading the image before attempting to draw it, the draw happens at the same time as the load.
So I'm in the same position as Greg that I can't reliably recreate the issue. It just happens sometimes.
@Christoph-Hart Alright, I created a simple snippet that consistently gives ghost panels.
But you've got to be patient sometimes, or even recompile before seeing one...
As you can see, sometimes it happens in series (but not always)
@ustk What amount of patience is required here? I've looked at it for about two minutes and no ghost panels appeared (also with recompiling).
Also your snippet doesn't have the clear button, maybe you've pasted an older version?
@Christoph-Hart I was almost sure it wouldn't work on your side
No the one you have is the good one, in fact nothing changed except this clear btn which has nothing to do...
I do recompile often, because sometimes it just doesn't want to throw a ghost. Also it is apparently not related to the number of children you decide to create (so probably not a cluttering thingy) because I tried with 300 sub children per row with no more statistics...
Could it be more prone to make a ghost on slower computers ? Or a CPU thing ? I guess not because one of my beta tester had the issue on an M1...
I have nothing more to add than "try more", because I can't get a way of increasing the stats.
I tried to make a button that force repaints everything (all parents and children) to see if the ghost repaints, but no. When a ghost is a ghost, it stays a ghost :)
I also tried to check for doublons but it appears ghosts aren't doublons either
So, could it be that the paint routine isn't attached to it ? because the mouseCB is working (click a ghost and you get the ID)
I reckon I asked this a while ago => we don't see the children appearing in the scriptWatchTable, that would allow to check if a paint routine is attached, but I don't know if this is a difficult task...
@ustk I'm not getting any, but I'll keep trying. Are you using open GL? Clicking on a child gives an error btw. Are you using the latest develop branch?
@Christoph-Hart Youhou!!! I can get as many as I want by stressing the CPU using this method :
@ustk :D progress!
@d-healey yes a recent develop, from around the faust implementation
Yes OpenGL is enabled, I'll try without...
@d-healey Disabling OpenGL doesn't help