On Thursday, December 29, 2011 15:37 CET, Oliver Eichler <[email protected]> wrote: > Hi Sebastian, > > I do not like the idea of waiting for ever. The documentation says the > default is 30 seconds. I can't tell why this is not working for OpenBSD. > But can you please try to use 30000 explicitely? That would be a much > nicer value than -1.
Setting it to 30000 doesn't help. I get the Warning: QProcess: Destroyed while process is still running. after 30 seconds. Then I tried to keep the -1 in CMainWindow::isGPSBabel and only change the other location to 30000, but then I can open the file, but get the data conversion error later. I also don't know why OpenBSD is different here, maybe its the specific qt4 version? No idea. If you are uncomfortable with the -1 approach, then thanks to your help, I now know at least how to make it work on OpenBSD. I can keep the patch in the ports tree, that would also be fine with me. When it is really just this qt4 version the reason, I may be able to remove it when its updated in the future... Sebastian > > > Oliver > > > > Hi Oliver, > > On Thursday, December 29, 2011 13:26 CET, Oliver > > Eichler<[email protected]> wrote: > > > >> Hi Sebastian, > >> > >> > >> QLGT will test for GPSBabel in bool CMainWindow::isGPSBabel(). If that > >> fails a short list of supported formats is shown. You should cross check > >> if that method works as expected with OpenBSD. > > > > Thanks for your fast answer. > > > > It was exactly the hint I needed. Looking at it, I found QProcess is used > > to check availability of gpsbabel. Now on startup I recognized: > > > > Warning: QProcess: Destroyed while process is still running. > > > > So I took a closer look at its documentation and found that waitForFinished > > did not wait until its really finished so I added the -1 there (hunk 2) > > which makes it wait forever. Then it successfully detected gpsbabel and I > > got all the new file types to open. Now trying to open a .loc file, I got a > > conversion error. > > It turned out to be the same problem, adding -1 to waitForFinished in hunk > > 1 did the trick. > > > > With the changes below I was able to open a .loc file on OpenBSD. > > In case it matters, I have qt4-4.7.4 > > > > cheers, > > Sebastian > > > > --- src/CMainWindow.cpp.orig Thu Dec 29 13:40:14 2011 > > +++ src/CMainWindow.cpp Thu Dec 29 14:10:37 2011 > > @@ -935,7 +935,7 @@ bool CMainWindow::convertData(const QString& inFormat, > > return false; > > } > > > > - if (!babelProcess->waitForFinished()) > > + if (!babelProcess->waitForFinished(-1)) > > { > > return false; > > } > > @@ -1535,7 +1535,7 @@ bool CMainWindow::isGPSBabel() > > bool haveGPSBabel = false; > > QProcess proc1; > > proc1.start(GPSBABEL " -V"); > > - proc1.waitForFinished(); > > + proc1.waitForFinished(-1); > > haveGPSBabel = proc1.error() == QProcess::UnknownError; > > return haveGPSBabel; > > } > > > ------------------------------------------------------------------------------ Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex infrastructure or vast IT resources to deliver seamless, secure access to virtual desktops. With this all-in-one solution, easily deploy virtual desktops for less than the cost of PCs and save 60% on VDI infrastructure costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox _______________________________________________ Qlandkartegt-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/qlandkartegt-users
