Genio-The-Haiku-IDE / Genio

The Haiku IDE
Other
69 stars 8 forks source link

Regression: changing active project doesn't redraw projects pane #433

Closed humdingerb closed 1 month ago

humdingerb commented 1 month ago

This works in the current release version, but not when building current head.

-> Nothing seems to change. The old active project is still bold, the newly activated project isn't bolded. You have to force a redraw, e.g. by waving a window in front.

I suspect the recent changes to allow dropping folders as new projects has messed up some Invalidate() or something?

jackburton79 commented 1 month ago

I guess I broke this with my recent commits.

jackburton79 commented 1 month ago

Weirdly I definitely reproduced it once or twice but can't reproduce this anymore. There's definitely some missing updates in certain cases, though

humdingerb commented 1 month ago

Weird. 100% reproducible here. Load 3 projects. Collapse all. Make the 1st active. Select the 3rd and make it active. The 1st stays bold. If you select the 2nd one in the middle, both 1st and 3rd are bolded.

jackburton79 commented 1 month ago

Ok, I managed to reproduce it more or less consistently. There's something strange: It seems like invalidating the ProjectBrowser doesn't invalidate correctly the BOutlineListView, which is a child. I tried to Invalidate it explicitly like this, and it seems to fix the problem. Obviously it's not a real fix. https://github.com/Genio-The-Haiku-IDE/Genio/tree/experimental/fixInvalidate

@Freaxed, @nexus6-haiku any idea why the invalidation isn't passed to the child view ?

jackburton79 commented 1 month ago

The workaround fixes also the other drawing glitch : the build indicator remains on screen until you force a redraw

jackburton79 commented 1 month ago

I added a workaround in main. Please test and see if it fixes the problem also for you

humdingerb commented 1 month ago

Yep. Completely fixed!

jackburton79 commented 1 month ago

Fixed, although IMHO it's a workaround.

Since I don't know if it's a bug or a misinterpretation, I did a post in the Haiku forums here https://discuss.haiku-os.org/t/redrawing-invalidation-clarifications/15656 asking for clarifications