> in my usual environment (Win2k, MSVC6, linking root against my own main()) I > (and other colleagues) occasionally get an access violation in libGpad. > Thanks to the debug distribution I could track that problem down to the > following bug: Hello, Alex I could not reproduce your problem yet. However I've looked up TCanvas source and found TCanvas::Build() method first opens the window , THEN it initializes the data-members. This may cause the problem you observed if the system is fast enough and the user gets his/her WIN32 Windows quickly, before the Build() code had a chance to set fSelected to ZERO. If this is the case one should get the trouble just Canvas is open and the mouse pointer is occasionally within the new born Canvas borders. Is it what you did see ? This can be fixed by changing the order of the statements in TCanvas ::Build(), namely first initialize everything then open the window. This is due the multithread protection introduced recently was not propagated to the Windows version yet. This correction did solve the some problem for UNIX version but introduced some troubles for the WIN32. Can you apply the diff attached to see whether it helps > By the way: Does anybody know where members are initialized to "0xbaadf00d"? > I can't find it anywhere in the root source... It could be nowhere just some garbage value the system left in the memory from the previous memory allocation Best regards, Valeri PS. I hope in week we will see the person who will take care about Windows version of ROOT.
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:48 MET