f12fd482f5
turns out that flushing the ids together with the ProFile cache was an
abysmal idea, as the latter expires after a few seconds after loading
the project, while references to the ProFiles (and thus the underlying
file ids) are kept for as long as the project stays loaded. the early
flush would cause re-use of the file ids, which would wreak all kinds of
havoc when re-loading projects.
but just ref-counting the vfs class is insufficient as well, as then the
ProFile cache (which expires after a timeout) could outlive all VFS
instances and thus refer to ids which were discarded and later re-used.
so we ref-count, and additionally let the cache instance hold a
reference to the vfs class.
this is sync-up with qt creator; no actual effect on qmake itself.
amends
|
||
---|---|---|
.. | ||
ioutils.cpp | ||
ioutils.h | ||
proitems.cpp | ||
proitems.h | ||
qmake_global.h | ||
qmakebuiltins.cpp | ||
qmakeevaluator_p.h | ||
qmakeevaluator.cpp | ||
qmakeevaluator.h | ||
qmakeglobals.cpp | ||
qmakeglobals.h | ||
qmakeparser.cpp | ||
qmakeparser.h | ||
qmakevfs.cpp | ||
qmakevfs.h |