xLightsSequencer / xLights

xLights is a sequencer for Lights. xLights has usb and E1.31 drivers. You can create sequences in this object oriented program. You can create playlists, schedule them, test your hardware, convert between different sequencers.
GNU General Public License v3.0
555 stars 209 forks source link

2023.21 - The last entry in a list box doesn't show #4188

Closed kevinsaucier closed 7 months ago

kevinsaucier commented 11 months ago

For items like views and submodels, it seems that the last item in the listbox control exists (usually) but doesn't show. For instance, when creating a new submodel, the name of the new submodel doesn't show up, but you can still add pixels to the submodel details. If you then try to create another submodel with the same name, the box goes red and you can't create it.

Similarly, when trying to add items to a group, it seems like the last entry in the list box doesn't exist (whether it's a submodel or a full model). If I filter for a submodel that I know exists, the box remains empty.

The same goes for views. The first time I opened my views list in 2023.21, it seemed like my standard view (which shows up last in my list) was missing. I imported it from a backup and I got _1, though I can't see the _1 version in the list box (confirmed it exists via the drop down in the sequencer and the XML itself).

Not sure if other list boxes are having the same issue or not as those are the ones I've come across so far.

Thanks!

keithsw1111 commented 11 months ago

This works fine on windows.

kevinsaucier commented 11 months ago

Sorry, should have mentioned, this is on Windows (11). I've attached my layout for your testing. This is happening on 2 different layouts (though the 2nd is a modified/cleaned up copy of the 1st so.....)

You can see here, the view exists in the drop down but does not show in the Display Elements dialog.

image

Similarly, you can see the 'All Wristbands' exists in the Sequencer props list, but not in the Display Elements dialog (though there appears to be a blank line there).

image

In submodels, you can see that S2-Handwritten is the last submodel.

image

When I click Add and give the new submodel a name, I'm pretty sure it used to show up in the list on the left, but it's missing (maybe I'm misremembering how this works):

image

But, when I click one of the other submodels, it enters 'Submodel-1' in the list instead of 'Test' and the range of pixels is gone.

image

If I then create a new 'Test', it shows it in red to indicate it already exists:

image

And, if I then click another submodel in the list, it enters the 'Test' submodel with the pixels I previously assigned to the first 'Test'

image

Christmas.zip

derwin12 commented 11 months ago

Is this an issue with font size set at the windows level? ie not 100%? Just a guess...

kevinsaucier commented 11 months ago

I wouldn't think so. Scale is set to 100% and hasn't changed in years. I have big monitors so no need to scale it up or down.

image

derwin12 commented 11 months ago

perhaps do a tools->package logs so others can try your layout to see if it is related to the layout.

kevinsaucier commented 11 months ago

Not in front of the computer at the moment but I attached my layout with the pictures above.... Christmas.zip

keithsw1111 commented 11 months ago

I am on windows 11 and i still dont see this problem. I opened your layout created a new sequence ... opened display elements image

kevinsaucier commented 11 months ago

Well, that's just frustrating.

I just uninstalled 2023.21 and reinstalled 2023.20 and the listbox are working again.

image

I then upgraded to 2023.21 and tested again and the listbox is missing the last entry. I then uninstalled 2023.21, ensured the registry was clear, and reinstalled 2023.21 as a clean install. Same problem.

It's actually easier to test the issue looking at the model Cane - 1. In the code, it has a submodel called 'Submodel-1' as the last entry. In the UI for 2023.21, it's missing. In 2023.20, it's there.

image

image

Just for fun, I pulled down this morning's nightly and tried it. Same issue. Definitely seems something has changed between 20 and 21. Could it be a VC++ upgrade (I have quite a few version installed)? Maybe something to do with dark mode (I see your test is not using dark mode)?

kevinsaucier commented 11 months ago

Also, just to add, if I click the space where 'Submodel-1' should be listed in the dialog, it loads in the 'Name' field, but still doesn't show up in the list box. 🤔

image

kevinsaucier commented 11 months ago

Also, here's the Package Logs output, in case it helps. xLightsProblem.zip

AzGilrock commented 11 months ago

I don't have any input to help with this problem but I'm curious about how you made sure the registry was clear after an uninstall. I didn't think the uninstall deletes the registry for xLights. 99% of the time an uninstall step is not going to fix anything. What I do on the Windows side is I install every xLights version into a new directory with the version number in the name so I can go back and run old versions without uninstalling anything.

kevinsaucier commented 11 months ago

I agree, uninstall of most apps doesn't really do anything, but it seemed odd that Keith isn't seeing the issue. Figured it was worth a shot, since I never uninstall and just overwrite version after version.

Unfortunately, the uninstall did completely wipe the registry (I wasn't expecting that), at least the main keys in HKCU. After the uninstall, they all were gone (I think TOD may have remained) and I was prompted to enter my email during the first opening of my layout. Had to switch back to 3D as well. Once I closed the app, it wrote a whole bunch of setting into the registry again.

image

computergeek1507 commented 11 months ago

Can you disable dark mode and see if the issue occurs? wxWidgets renders some system components different in dark mode vs light mode. I found some windows composing bugs when debugging dark mode before.

kevinsaucier commented 11 months ago

Aaaaaaa, my eyes! 😵‍💫

That seems to be it! I'm now seeing the missing entries in the UI. Geez, I may just have to create dummy entries everywhere. Not sure I can go back to Light mode. 🤣

image

image

libby2cm commented 11 months ago

@computergeek1507 It's definitely a dark mode rendering bug.. I opened #4199 last night with similar behavior with managing submodels.. and missed this issue already filed. Singleton list items seem to be what's tripping it up. Suppressing dark mode does seem to fix it. I missed the .22 release, so I upgraded to that and the issue persists.

computergeek1507 commented 11 months ago

It's a wx issue https://github.com/wxWidgets/wxWidgets/issues/24024

cybercop23 commented 7 months ago

Looks like this is fixed now in wxwidgets.... https://github.com/wxWidgets/wxWidgets/commit/8c0d23ab65eb434d29fef2f266a437b924740b77

kevinsaucier commented 7 months ago

Looks like this is fixed now in wxwidgets.... wxWidgets/wxWidgets@8c0d23a

Thank the lord! Let's get it implemented in xLights. This bug has been such a huge PITA!

dkulp commented 7 months ago

I'll wait a couple days to make sure its fully tested on their side and then I'll update the wxwidgets we use to the latest stuff.

kevinsaucier commented 7 months ago

I'll wait a couple days to make sure its fully tested on their side and then I'll update the wxwidgets we use to the latest stuff.

Thanks Dan. I can't believe it's taken them so long to resolve this issue. Definitely looking forward to the fix.

cybercop23 commented 7 months ago

FWIW... made the change to my local win dev and discovered ctrls and I now see the 4 that are connected when using dark mode.

image

cybercop23 commented 7 months ago

Done, 2024.6

kevinsaucier commented 7 months ago

Praise the lord! Thanks!