QFileSystemWatcher's signal "directoryChanged" not emitted
-
Might be worth you looking directly at the source code, see if you can get it sorted yourself, and submit a patch.
Did you try if other environments are affected too? Any linux distribution for example?
wrote on 24 Mar 2017, 10:20 last edited by@VRonin I have looked too at the win32 functions findfirstchangenotification (used l.160) and find nextchangenotification (used l.364)....I think I must use a debug version of Qt to debug that because perhaps there is no change notification on the handle when we use a simple del to delete a directory ie send it to trashcan(without shift) ?
-
Might be worth you looking directly at the source code, see if you can get it sorted yourself, and submit a patch.
Did you try if other environments are affected too? Any linux distribution for example?
wrote on 24 Mar 2017, 10:24 last edited by@VRonin or perhaps the error l.367 is another error than ERROR_ACCESS_DENIED that should be considered too and the that fakeRemove should be put to true too (or another boolean )
-
Might be worth you looking directly at the source code, see if you can get it sorted yourself, and submit a patch.
Did you try if other environments are affected too? Any linux distribution for example?
wrote on 24 Mar 2017, 10:33 last edited by stephane78@VRonin what are the other errors of FindNextChangeNotification?didn't find them in the win32 msdn documentation.
And I don't really know how to do debug of Qt ? because it is in QtCore,so I suppose I must take the project and source of QtCore, but my test project use not only QtCore but QtGui and QtWidget too.... -
wrote on 24 Mar 2017, 11:02 last edited by
I'll take a quick look and see if I can spot something in the source, no promises though
-
wrote on 24 Mar 2017, 11:06 last edited by
@VRonin Thank you vronin, do you know how I can debug QtCore (or corelib or io) with my test project synchro as executable with QtCreator and mingw-w64(the compiler of qt.io).I suppose I must take the source (single,the .zip) but don't really know how to do that.my project synchro uses core,gui and widget but I suppose I must open corelib or io as project in QtCreator
-
wrote on 24 Mar 2017, 11:31 last edited by stephane78
@VRonin do you know how to get the version 5.6.2 of qtbase from code.qt.io with git? (to build it in debug and try to debug corelib)
-
wrote on 24 Mar 2017, 11:48 last edited by
Just clone the repository and check out the 5.6 branch
-
wrote on 24 Mar 2017, 12:34 last edited by
@VRonin ok thanks vronin...
-
wrote on 24 Mar 2017, 13:52 last edited by
@VRonin it is done.but to debug qfilesystemwatcher should I open corelib.pro in QtCreator (QtCore) and build it debug and put breakpoints and attach to my app synchro ?
-
wrote on 24 Mar 2017, 13:55 last edited by stephane78
@VRonin I want to put a breakpoint l.364 of QFileSystemWatcher_win.cpp and watch error l365
-
wrote on 24 Mar 2017, 14:41 last edited by
@VRonin there is "attach to unstarted application" and "debug an external application" in Qtcreator\debug. is it possible to use one this option to debug QtCore (corelib) with my app synchro.exe ?
-
wrote on 24 Mar 2017, 15:10 last edited by
@VRonin when building corelib I have this error ..\corelib\global\qt_pch.h:50:21: fatal error: qglobal.h: No such file or directory
#include <qglobal.h>
qglobal.h is in the directory but I think I lacks an environment variable ? -
wrote on 24 Mar 2017, 15:25 last edited by
@VRonin OK I think I have found : I have copied the directory include of the source single (.zip) of 5.6.2 in the direcorty qtbase and I have put in my environment variable INCLUDE the path of directory include and reboot my windows...I think it will be ok
-
@VRonin OK I think I have found : I have copied the directory include of the source single (.zip) of 5.6.2 in the direcorty qtbase and I have put in my environment variable INCLUDE the path of directory include and reboot my windows...I think it will be ok
wrote on 24 Mar 2017, 16:01 last edited byI have put
INCLUDEPATH +="../../include"
INCLUDEPATH +="../../include/QtCore"int he corelib.pro but I have an error In file included from ..\corelib\animation\qabstractanimation.cpp:143:0:
..\corelib\animation\qabstractanimation_p.h:52:31: fatal error: private/qobject_p.h: No such file or directory
#include <private/qobject_p.h> -
I have put
INCLUDEPATH +="../../include"
INCLUDEPATH +="../../include/QtCore"int he corelib.pro but I have an error In file included from ..\corelib\animation\qabstractanimation.cpp:143:0:
..\corelib\animation\qabstractanimation_p.h:52:31: fatal error: private/qobject_p.h: No such file or directory
#include <private/qobject_p.h>wrote on 24 Mar 2017, 16:25 last edited byIt think I will build the whole Qtbase as usually and then open the corelib.pro and put the directory of lib QtCored.dll as build directory and try to debug with my exe (synchro.exe)
-
You have to, qtbase, unlike the other modules, requires that you run configure before building it.
-
You have to, qtbase, unlike the other modules, requires that you run configure before building it.
wrote on 27 Mar 2017, 08:17 last edited by@SGaist even after done configure,if I want to debug qtcore (corelib) in Qtcreator,it needs to be build with Qtcreator and I can't build it with Qtcreator (mingw).so I can't debug corelib (qtcore) and I don't know how to do.I have built qtbase with command line but it is unuseful...
-
What problem do you get building from the command line ?
-
wrote on 27 Mar 2017, 10:08 last edited by stephane78
@SGaist I have added INCLUDEPATH +="../../include"
INCLUDEPATH +="../../include/QtCore"
in the corelib.pro because I had errors on include paths but I have still errors on other include paths:
In file included from C:\qtsrc\qtbase\src\corelib\animation\qabstractanimation.cpp:143:0:
C:\qtsrc\qtbase\src\corelib\animation\qabstractanimation_p.h:52:31: fatal error: private/qobject_p.h: No such file or directory
#include <private/qobject_p.h>
^ -
You have to build qtbase from the command line. There's a lot of stuff happening during the build phase of qtbase like header generation. Therefore, build it once and then start hacking on it.
24/43