Re: Review Request 129393: Use Qt's plugin system instead of KService
--- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/129393/#review100826 --- Why do you migrate away from KService to something Qt'ish? - Marko Käning On Nov. 13, 2016, 9:50 p.m., Christian David wrote: > > --- > This is an automatically generated e-mail. To reply, visit: > https://git.reviewboard.kde.org/r/129393/ > --- > > (Updated Nov. 13, 2016, 9:50 p.m.) > > > Review request for KMymoney. > > > Repository: kmymoney > > > Description > --- > > Hi, > > this is my long overdue change on the plugin system. It actually started in > Randa. > > Sorry for such a long review request! I think it is ready for publishing, I > made this review request only to give everybody a chance to ask questions :) > > > Commit 1 > > > This is a major change. Instead of a KPluginFactory based plugin > loading, Qt's plugin system is used. The docu was adopeted to reflect > this. > > Commit 2 > > > The plugins for onlineTasks are now loaded with QPluginLoader on demand. > The necessary information is encoded in Qt's json plugin header. > > Commit 3 > > > Moved plugin loader out of kmm_plugin and put it into the executable > > The plugin shared library is for plugins now and does not include the > loading of plugins (which was kind of wired). All loading operations of > standard plugins is done in KMyMoneyApp now. > > Therefor the interface system for plugins needed do be reworked to > great degree. Some overly complex operations were replaced by simpler > ones. All plugins were adopted to that. Also it is more type safe now. > > Now the user configuration which plugins should be loaded or not is > respected (standard plugins only). > > An old bug was fixed: If the configuration in the plugin settings > changed the plugins are loaded/unloaded after the user accepts the > dialog (perviously this was done when the checkbox was clicked). > > Todos > = > > The new system is still not finished. However, it is a great step in > the right direction. An uncomplete list of FIXMEs (or bugs?): > > 1. pluginloader.{h,cpp} are gui only now and should be merged into the > settings dialog. > 2. The UI for plugins still has some issues, e.g. the online banking > plugins which are loaded on demand (and are not deactivatable) have a > checkbox for loading and unloading which has no function. > 3. Unloading plugins may not work correctly (I think it never did). > 4. The payeeIdentifiers are not listet in the plugin settings page. > > > Diffs > - > > CMakeLists.txt 09970dd5626e308c443ea20ee20ecf8503b21209 > kmymoney/CMakeLists.txt acbe6a3c91a62a15871a0061486a7d0771b3a5e6 > kmymoney/dialogs/konlinetransferform.h > e4761904d68a92471c0b05cc9e5b2bcd1461511d > kmymoney/dialogs/konlinetransferform.cpp > 07e73ab17f93cd8fd804b9d11ede2b049f76eefe > kmymoney/dialogs/settings/ksettingsplugins.cpp > 007a59d4be08fe779245dd5d52f664ebfcee447d > kmymoney/kmymoney.h 8d10023b5e35be8f4449973ea16e0ec0cc0acca2 > kmymoney/kmymoney.cpp 043342dd87cbc03557c5e2b29eb3b9dfcd1083dd > kmymoney/mymoney/onlinejobadministration.h > e72d1a6e46c7c8bcc7cf05193e04bdc8bd9103f5 > kmymoney/mymoney/onlinejobadministration.cpp > 52658747a44bc5477ccd75a531aef471b4553b19 > kmymoney/pluginloader.h PRE-CREATION > kmymoney/pluginloader.cpp PRE-CREATION > kmymoney/plugins/CMakeLists.txt fd7cad75256c0a43d7d1fd3a23b37cef7fab8bf9 > kmymoney/plugins/csvexport/CMakeLists.txt > 9f2e29fd43e32cd3c6acc7f597c45d522eac4eaf > kmymoney/plugins/csvexport/csvexport.json.in PRE-CREATION > kmymoney/plugins/csvexport/csvexporterplugin.h > f163ade2d59ae1b6eb32958a317384e77a658523 > kmymoney/plugins/csvexport/csvexporterplugin.cpp > 31027c65111edbad8ca78b00f5b7df572056bb37 > kmymoney/plugins/csvexport/kmm_csvexport.desktop > 957a9edc4101504e0db08378392e29358327b1c6 > kmymoney/plugins/csvimport/CMakeLists.txt > c3e13285944f3624d69f7cc7cde0d4d9014a2a2c > kmymoney/plugins/csvimport/csvimport.json.in PRE-CREATION > kmymoney/plugins/csvimport/csvimporterplugin.h > e66f9cf8e7bfdf9a431d7c57db2e905f5e89ec66 > kmymoney/plugins/csvimport/csvimporterplugin.cpp > 9a28dca3efd54b82882ef71595439d34b09a5177 > kmymoney/plugins/csvimport/kmm_csvimport.desktop > 52dfc6ef5a425f70f4caba42e92378665926c774 > kmymoney/plugins/icalendarexport/CMakeLists.txt > b85f29282114b5c8eb4d680308da59177992a7e6 > kmymoney/plugins/icalendarexport/icalendarexport.h > ae02cb35041c7bb1423fe2939da1252d1003065a > kmymoney/plugins/icalendarexport/icalendarexport.cpp > d1028338c8e3644fc280395c5c853d369f19f4eb > kmymoney/plugins/icalendarexport/kmm_icalendarexport.desktop > 4313fdf277f82e6759e48931b3b2aba059b2ece3 > kmymoney/p
[kmymoney4] [Bug 372453] New: KMyMoney 4.8 crashes on opening some files
https://bugs.kde.org/show_bug.cgi?id=372453 Bug ID: 372453 Summary: KMyMoney 4.8 crashes on opening some files Product: kmymoney4 Version: 4.8.0 Platform: Fedora RPMs OS: Linux Status: UNCONFIRMED Keywords: drkonqi Severity: crash Priority: NOR Component: general Assignee: kmymoney-devel@kde.org Reporter: yshir...@gmail.com Target Milestone: --- Application: kmymoney (4.8.0) KDE Platform Version: 4.14.25 Qt Version: 4.8.7 Operating System: Linux 4.8.6-300.fc25.x86_64 x86_64 Distribution: "Fedora release 25 (Twenty Five)" -- Information about the crash: I upgraded to F25 beta which comes with KMyMoney 4.8.0 and the program crashes when opening my default file. I can open the olde (about 2.5 years) version of the file. This probably means some inconsistency in the file (I did make some changes by hand when I could not delete some payees inside the program). But the version 4.7.2 opens the same file without any issues. The crash can be reproduced every time. -- Backtrace: Application: KMyMoney (kmymoney), signal: Aborted Using host libthread_db library "/lib64/libthread_db.so.1". [KCrash Handler] #6 0x7fd70fece92f in raise () at /lib64/libc.so.6 #7 0x7fd70fed052a in abort () at /lib64/libc.so.6 #8 0x7fd70fec6e37 in __assert_fail_base () at /lib64/libc.so.6 #9 0x7fd70fec6ee2 in () at /lib64/libc.so.6 #10 0x7fd6f1de2f6f in () at /lib64/libgwenhywfar.so.60 #11 0x7fd6f1723151 in AB_Job_new () at /lib64/libaqbanking.so.35 #12 0x7fd6f26b7b9e in KBankingPlugin::availableJobs(QString) () at /usr/lib64/kde4/kmm_kbanking.so #13 0x7fd71403ebfa in onlineJobAdministration::canSendCreditTransfer() () at /lib64/libkmm_mymoney.so.4 #14 0x558cb9dfb427 in KMyMoneyApp::slotUpdateActions() () #15 0x558cb9e01da0 in KMyMoneyApp::updateCaption(bool) () #16 0x558cb9e41cc8 in KMyMoneyApp::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () #17 0x7fd71117f090 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /lib64/libQtCore.so.4 #18 0x7fd713fcbf48 in MyMoneyFile::attachStorage(IMyMoneyStorage*) () at /lib64/libkmm_mymoney.so.4 #19 0x558cb9e655f0 in KMyMoneyView::readFile(KUrl const&) () #20 0x558cb9e2b0d6 in KMyMoneyApp::slotFileOpenRecent(KUrl const&) () #21 0x558cb9de2557 in runKMyMoney(KApplication*, KStartupLogo*) [clone .isra.9] () #22 0x558cb9ddf4fc in main () Reported using DrKonqi -- You are receiving this mail because: You are the assignee for the bug.
Review Request 129393: Use Qt's plugin system instead of KService
--- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/129393/ --- Review request for KMymoney. Repository: kmymoney Description --- Hi, this is my long overdue change on the plugin system. It actually started in Randa. Sorry for such a long review request! I think it is ready for publishing, I made this review request only to give everybody a chance to ask questions :) Commit 1 This is a major change. Instead of a KPluginFactory based plugin loading, Qt's plugin system is used. The docu was adopeted to reflect this. Commit 2 The plugins for onlineTasks are now loaded with QPluginLoader on demand. The necessary information is encoded in Qt's json plugin header. Commit 3 Moved plugin loader out of kmm_plugin and put it into the executable The plugin shared library is for plugins now and does not include the loading of plugins (which was kind of wired). All loading operations of standard plugins is done in KMyMoneyApp now. Therefor the interface system for plugins needed do be reworked to great degree. Some overly complex operations were replaced by simpler ones. All plugins were adopted to that. Also it is more type safe now. Now the user configuration which plugins should be loaded or not is respected (standard plugins only). An old bug was fixed: If the configuration in the plugin settings changed the plugins are loaded/unloaded after the user accepts the dialog (perviously this was done when the checkbox was clicked). Todos = The new system is still not finished. However, it is a great step in the right direction. An uncomplete list of FIXMEs (or bugs?): 1. pluginloader.{h,cpp} are gui only now and should be merged into the settings dialog. 2. The UI for plugins still has some issues, e.g. the online banking plugins which are loaded on demand (and are not deactivatable) have a checkbox for loading and unloading which has no function. 3. Unloading plugins may not work correctly (I think it never did). 4. The payeeIdentifiers are not listet in the plugin settings page. Diffs - CMakeLists.txt 09970dd5626e308c443ea20ee20ecf8503b21209 kmymoney/CMakeLists.txt acbe6a3c91a62a15871a0061486a7d0771b3a5e6 kmymoney/dialogs/konlinetransferform.h e4761904d68a92471c0b05cc9e5b2bcd1461511d kmymoney/dialogs/konlinetransferform.cpp 07e73ab17f93cd8fd804b9d11ede2b049f76eefe kmymoney/dialogs/settings/ksettingsplugins.cpp 007a59d4be08fe779245dd5d52f664ebfcee447d kmymoney/kmymoney.h 8d10023b5e35be8f4449973ea16e0ec0cc0acca2 kmymoney/kmymoney.cpp 043342dd87cbc03557c5e2b29eb3b9dfcd1083dd kmymoney/mymoney/onlinejobadministration.h e72d1a6e46c7c8bcc7cf05193e04bdc8bd9103f5 kmymoney/mymoney/onlinejobadministration.cpp 52658747a44bc5477ccd75a531aef471b4553b19 kmymoney/pluginloader.h PRE-CREATION kmymoney/pluginloader.cpp PRE-CREATION kmymoney/plugins/CMakeLists.txt fd7cad75256c0a43d7d1fd3a23b37cef7fab8bf9 kmymoney/plugins/csvexport/CMakeLists.txt 9f2e29fd43e32cd3c6acc7f597c45d522eac4eaf kmymoney/plugins/csvexport/csvexport.json.in PRE-CREATION kmymoney/plugins/csvexport/csvexporterplugin.h f163ade2d59ae1b6eb32958a317384e77a658523 kmymoney/plugins/csvexport/csvexporterplugin.cpp 31027c65111edbad8ca78b00f5b7df572056bb37 kmymoney/plugins/csvexport/kmm_csvexport.desktop 957a9edc4101504e0db08378392e29358327b1c6 kmymoney/plugins/csvimport/CMakeLists.txt c3e13285944f3624d69f7cc7cde0d4d9014a2a2c kmymoney/plugins/csvimport/csvimport.json.in PRE-CREATION kmymoney/plugins/csvimport/csvimporterplugin.h e66f9cf8e7bfdf9a431d7c57db2e905f5e89ec66 kmymoney/plugins/csvimport/csvimporterplugin.cpp 9a28dca3efd54b82882ef71595439d34b09a5177 kmymoney/plugins/csvimport/kmm_csvimport.desktop 52dfc6ef5a425f70f4caba42e92378665926c774 kmymoney/plugins/icalendarexport/CMakeLists.txt b85f29282114b5c8eb4d680308da59177992a7e6 kmymoney/plugins/icalendarexport/icalendarexport.h ae02cb35041c7bb1423fe2939da1252d1003065a kmymoney/plugins/icalendarexport/icalendarexport.cpp d1028338c8e3644fc280395c5c853d369f19f4eb kmymoney/plugins/icalendarexport/kmm_icalendarexport.desktop 4313fdf277f82e6759e48931b3b2aba059b2ece3 kmymoney/plugins/icalendarexport/kmm_icalendarexport.json.in PRE-CREATION kmymoney/plugins/interfaceloader.h PRE-CREATION kmymoney/plugins/interfaceloader.cpp PRE-CREATION kmymoney/plugins/interfaces/kmmviewinterface.h d86e5efafd7ceac57b5a107696ffbc57ef64896b kmymoney/plugins/kbanking/CMakeLists.txt 7a6b656eaa198b0556dc9329c37d9fe34009ad68 kmymoney/plugins/kbanking/kbanking.json.in PRE-CREATION kmymoney/plugins/kbanking/kmm_kbanking.desktop 414964f6c9fe3d34f03189783aa915d3ba37ff18 kmymoney/plugins/kbanking/mymoneybanking.h fe0cb5c5feeeac9ffb4657e49da318cc429d2ac4 kmymoney/plugins/kbanking/mymoneybanking.cpp ad53d4ba608e221