Problem with TGStatusBar


Since I installed the last ROOT version: 6.31.01 from the master branch (I am working on the latest MacOs version), I have a graphical bug with the TGStatusBar of my application:

When the app starts, all the parts of the bar are overlayed:

If I change the canvas size, the bar display is recovered:

But once I click on the canvas, the same error happens in the display:

Any idea how what can cause this ?

Thanks in advance


It looks like a MacOS specific issue… Do you see the same with a regular TCanvas?

No in regular TCanvas it is working as it should

Si I’m afraid we need a minimal reproducer…

either you can install my application and check what happens (the TGStatusBar definition is in the file CXMainWindow.cpp) , the manual is on, or I will try to make a reproducer in the coming days.

I’ll check (but I cannot try on MacOS)

I just tried on MacOS. I do not see this problem. The status bars is ok.

@couet did you try his application?

No, ROOT only. I will try his application now.

I can see the effect on Mac. At first the status bar of the opened browser is corrupted but it becomes fine, and stay that way, as soon I enlarge/resize the browser.

and once you click on the canvas, it becomes corrupted again ?

Yes … It is weird. The standard ROOT TBrowser is fine. What is the difference ?

Probably the way I have implemented the TGStatusBar, but it was working fine since years before the last ROOT update I have done… or is it due to the last MacOS update ?

AFAIK, nothing changed in the ROOT GUI recently, and MacOS is known to break things at each update…

When have you updated ROOT last time ?

I was working on ROOT 6.28 before the last macos update (so it was working correctly from root 6.20 to 6.28 at least), but when I did the last update last week, the ROOT compilation was no more possible (the issue is known and already discussed on the forum). So I had to take the master branch for which a patch has been applied.

But this is not the only graphical bug. No there is a kind of remanence of the TGEditor behind the file browser that was not present before:

I have to open and close again the editor to make it disapear:

6 month ago we had to debug and fix the cocoa part of ROOT because the new cocoa completely destroyed the GUI Timur did this fix. Since then ROOT is fine. May be your case is never shows up in ROOT itself.

One possibility could be that in my application I have using my own Canvas class that inherits from TCanvas and hide some of TCanvas methods like HandleInput. If new patch have been applied to HandleInput they could have been ignored ?

By the way I have another question. Now that the display is going to be done more and more in a web Browser, is it possible (and not so complicated) to do my full application in the web browser or GUI developments in the web interface are not yet implemented ? This would probably make all these graphical issue disappear no ?