• Michael Pyne's avatar
    Fix crash with threaded file loading. · 24b0edd1
    Michael Pyne authored
    Although Qt protects access to functions in the GUI thread (where I was
    seeing crashes in the new threaded file loading code in some
    situations), as long as you use signals/slots, Qt Concurrent doesn't do
    anything to keep your non-GUI threaded code from trampling on each
    other.
    
    Which is obvious enough, in retrospect, but that seems to have been the
    reason for the crashes I was sometimes seeing (TagLib and/or FileHandle
    not being thread-safe).
    
    The immediate bugfix is to serialize access into FileHandle/TagLib file
    reading code in DirectoryLoader, though I also did some cleanups in the
    process of debugging that I think are worth keeping.
    24b0edd1
Name
Last commit
Last update
cmake Loading commit data...
doc Loading commit data...
mpris2 Loading commit data...
pics Loading commit data...
tests Loading commit data...
.gitlab-ci.yml Loading commit data...
128-apps-juk.png Loading commit data...
16-apps-juk.png Loading commit data...
32-apps-juk.png Loading commit data...
48-apps-juk.png Loading commit data...
64-apps-juk.png Loading commit data...
CMakeLists.txt Loading commit data...
COPYING Loading commit data...
HACKING Loading commit data...
Messages.sh Loading commit data...
README.md Loading commit data...
TODO Loading commit data...
actioncollection.cpp Loading commit data...
actioncollection.h Loading commit data...
advancedsearchdialog.cpp Loading commit data...
advancedsearchdialog.h Loading commit data...
cache.cpp Loading commit data...
cache.h Loading commit data...
categoryreaderinterface.cpp Loading commit data...
categoryreaderinterface.h Loading commit data...
collectionlist.cpp Loading commit data...
collectionlist.h Loading commit data...
config-juk.h.cmake Loading commit data...
coverdialog.cpp Loading commit data...
coverdialog.h Loading commit data...
coverdialogbase.ui Loading commit data...
covericonview.cpp Loading commit data...
covericonview.h Loading commit data...
coverinfo.cpp Loading commit data...
coverinfo.h Loading commit data...
covermanager.cpp Loading commit data...
covermanager.h Loading commit data...
coverproxy.cpp Loading commit data...
coverproxy.h Loading commit data...
dbuscollectionproxy.cpp Loading commit data...
dbuscollectionproxy.h Loading commit data...
deletedialog.cpp Loading commit data...
deletedialog.h Loading commit data...
deletedialogbase.ui Loading commit data...
directorylist.cpp Loading commit data...
directorylist.h Loading commit data...
directorylistbase.ui Loading commit data...
directoryloader.cpp Loading commit data...
directoryloader.h Loading commit data...
dynamicplaylist.cpp Loading commit data...
dynamicplaylist.h Loading commit data...
exampleoptions.cpp Loading commit data...
exampleoptions.h Loading commit data...
exampleoptionsbase.ui Loading commit data...
filehandle.cpp Loading commit data...
filehandle.h Loading commit data...
filehandleproperties.h Loading commit data...
filerenamer.cpp Loading commit data...
filerenamer.h Loading commit data...
filerenamerbase.ui Loading commit data...
filerenamerconfigdlg.cpp Loading commit data...
filerenamerconfigdlg.h Loading commit data...
filerenameroptions.cpp Loading commit data...
filerenameroptions.h Loading commit data...
filerenameroptionsbase.ui Loading commit data...
folderplaylist.cpp Loading commit data...
folderplaylist.h Loading commit data...
historyplaylist.cpp Loading commit data...
historyplaylist.h Loading commit data...
juk-exception.h Loading commit data...
juk.cpp Loading commit data...
juk.h Loading commit data...
juk.notifyrc Loading commit data...
jukIface.h Loading commit data...
jukservicemenu.desktop Loading commit data...
jukui-rtl.rc Loading commit data...
jukui.rc Loading commit data...
keydialog.cpp Loading commit data...
keydialog.h Loading commit data...
ktrm.cpp Loading commit data...
ktrm.h Loading commit data...
lyricswidget.cpp Loading commit data...
lyricswidget.h Loading commit data...
main.cpp Loading commit data...
mediafiles.cpp Loading commit data...
mediafiles.h Loading commit data...
musicbrainzquery.cpp Loading commit data...
musicbrainzquery.h Loading commit data...
nowplaying.cpp Loading commit data...
nowplaying.h Loading commit data...
org.kde.juk.appdata.xml Loading commit data...
org.kde.juk.collection.xml Loading commit data...
org.kde.juk.desktop Loading commit data...
org.kde.juk.player.xml Loading commit data...
org.kde.juk.search.xml Loading commit data...
playermanager.cpp Loading commit data...
playermanager.h Loading commit data...
playlist.cpp Loading commit data...
playlist.h Loading commit data...
playlistbox.cpp Loading commit data...
playlistbox.h Loading commit data...
playlistcollection.cpp Loading commit data...
playlistcollection.h Loading commit data...
playlistinterface.cpp Loading commit data...
playlistinterface.h Loading commit data...
playlistitem.cpp Loading commit data...
playlistitem.h Loading commit data...
playlistsearch.cpp Loading commit data...
playlistsearch.h Loading commit data...
playlistsharedsettings.cpp Loading commit data...
playlistsharedsettings.h Loading commit data...
playlistsplitter.cpp Loading commit data...
playlistsplitter.h Loading commit data...
scrobbleconfigdlg.cpp Loading commit data...
scrobbleconfigdlg.h Loading commit data...
scrobbler.cpp Loading commit data...
scrobbler.h Loading commit data...
searchplaylist.cpp Loading commit data...
searchplaylist.h Loading commit data...
searchwidget.cpp Loading commit data...
searchwidget.h Loading commit data...
slider.cpp Loading commit data...
slider.h Loading commit data...
slideraction.cpp Loading commit data...
slideraction.h Loading commit data...
statuslabel.cpp Loading commit data...
statuslabel.h Loading commit data...
stringhash.h Loading commit data...
stringshare.cpp Loading commit data...
stringshare.h Loading commit data...
svghandler.cpp Loading commit data...
svghandler.h Loading commit data...
systemtray.cpp Loading commit data...
systemtray.h Loading commit data...
tag.cpp Loading commit data...
tag.h Loading commit data...
tageditor.cpp Loading commit data...
tageditor.h Loading commit data...
tageditor.ui Loading commit data...
tagguesser.cpp Loading commit data...
tagguesser.h Loading commit data...
tagguesserconfigdlg.cpp Loading commit data...
tagguesserconfigdlg.h Loading commit data...
tagguesserconfigdlgwidget.ui Loading commit data...
tagrenameroptions.cpp Loading commit data...
tagrenameroptions.h Loading commit data...
tagtransactionmanager.cpp Loading commit data...
tagtransactionmanager.h Loading commit data...
trackpickerdialog.cpp Loading commit data...
trackpickerdialog.h Loading commit data...
trackpickerdialogbase.ui Loading commit data...
tracksequenceiterator.cpp Loading commit data...
tracksequenceiterator.h Loading commit data...
tracksequencemanager.cpp Loading commit data...
tracksequencemanager.h Loading commit data...
treeviewitemplaylist.cpp Loading commit data...
treeviewitemplaylist.h Loading commit data...
upcomingplaylist.cpp Loading commit data...
upcomingplaylist.h Loading commit data...
viewmode.cpp Loading commit data...
viewmode.h Loading commit data...
volumepopupbutton.cpp Loading commit data...
volumepopupbutton.h Loading commit data...
webimagefetcher.cpp Loading commit data...
webimagefetcher.h Loading commit data...