Hi, I have tracked down the problem to TTextInputDialog's call to TGClient::WaitForUnmap(TGWindow*). Further, fDialog->GetId() doesn't raise the error message, which leads me to believe the error is being raised inside of WaitForUnmap's call to TSystem::InnerLoop(). Have other people had problems with TGClient::WaitForUnmap(TGWindow*) under ROOT 3.01/05? Specifically, have you seen the message "Error in <RootX11ErrorHandler>: BadMatch (invalid parameter attributes)..."? If so, what was causing the problem and what'd you do to fix it? I'm still unsure of whether my code is doing something wrong or if I'm hitting a bug. Also, I wonder what work people have done with non-blocking dialogs. I'm thinking of having my dialog accept a little class to call a method in the class raising the dialog to pass back the dialog input. Or I guess this might be a good place to use ROOT's signal/slot mechanism. (Now that I think about it more, I'm leaning more towards using the signal/slot mechanism.) Thank you. David On Wed, 2002-05-29 at 23:38, David Faden wrote: > Hi, > I believe an update to our ROOT version may have broken some code. We > are now running ROOT 3.01/05 13 March 2002 under RedHat 2.4.9-31smp i686. > (I'm somewhat unsure about the RedHat version number.) > The problematic code is at the URLs at the bottom of this > message. > Before the update, the following would work as expected: > > char* reply; > new TTextInputDialog("Title", "Message", &reply); > > That is, reply would contain a pointer to the user's response to the input > dialog. Now, as soon as the dialog appears, the following error > message is printed: > > Error in <RootX11ErrorHandler>: BadMatch (invalid parameter attributes) > (XID: 3748815) > > After the error message is printed, the dialog is left up and appears to > operate normally (button presses work, the user can enter text and can > dismiss the dialog), but rather than blocking, ROOT has returned from the > constructor. In the interpreter, after the error message appears, ROOT will > keep on bringing up the text input dialog. > Has the proper way to use TGClient::WaitForUnmap changed? I suspect there > was a bug in my code that didn't have any noticeable effects until a change > was made in ROOT. > In an earlier message to roottalk, it was noted that this error > message usually appears in response to an attempt to access a window that's > been deleted. I don't see where this could be happening in my code, though. > Has anyone seen a similar problem? Ideas on a solution? > Thank you. > > David > > TTextInputDialog.hh: > http://www.phenix.bnl.gov/software/cvsweb/cvsweb.cgi/~checkout~/offline/packages/tec/TTextInputDialog.hh?rev=1.1&content-type=text/plain > > TTextInputDialog.cc: > http://www.phenix.bnl.gov/software/cvsweb/cvsweb.cgi/~checkout~/offline/packages/tec/TTextInputDialog.cc?rev=1.1&content-type=text/plain
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:54 MET