Summary: | Umbrello toolbar icons do not match diagram widgets and cursors running under "breeze" style | ||
---|---|---|---|
Product: | [Applications] umbrello | Reporter: | Ralf Habacker <ralf.habacker> |
Component: | general | Assignee: | Umbrello Development Group <umbrello-devel> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | andrei.i.ivanov, okellogg |
Priority: | NOR | ||
Version: | 2.19.1 (KDE Applications 16.04.1) | ||
Target Milestone: | --- | ||
Platform: | openSUSE | ||
OS: | Linux | ||
Latest Commit: | http://commits.kde.org/umbrello/8725648a8c8b927bdb3236ad81cb2a1c215560ec | Version Fixed In: | 2.20.1 (KDE Applications 16.08.1) |
Sentry Crash Report: |
Description
Ralf Habacker
2016-06-08 22:30:55 UTC
Git commit 4bc648dbc006212ed1d6aa16295f03cce153327a by Ralf Habacker. Committed on 08/06/2016 at 22:50. Pushed by habacker into branch 'master'. Fix 'Umbrello toolbar icons does not match diagram widgets and cursors running under "breeze" style'. Icons are now integrated into umbrello binary by using a qrc file. FIXED-IN:2.19.80 (KDE Applications 16.07.80) M +1 -0 CMakeLists.txt M +1 -0 umbrello/CMakeLists.txt M +29 -5 umbrello/icon_utils.cpp A +174 -0 umbrello/icons.qrc M +1 -0 umbrello/main.cpp http://commits.kde.org/umbrello/4bc648dbc006212ed1d6aa16295f03cce153327a Git commit 5ab1a84dd126425f30c3414b27a4125d3826a1b6 by Ralf Habacker. Committed on 09/06/2016 at 06:22. Pushed by habacker into branch 'master'. Fix compile error 'undefined reference to `qInitResources_icons()' on KF5 builds. M +2 -1 CMakeLists.txt http://commits.kde.org/umbrello/5ab1a84dd126425f30c3414b27a4125d3826a1b6 Git commit 792510763414d4cee23f9bca75c1bb23cffec41a by Ralf Habacker. Committed on 09/06/2016 at 06:24. Pushed by habacker into branch 'master'. Fix 'warning: potential duplicate alias detected:' in icons.qrc. M +7 -8 umbrello/icons.qrc http://commits.kde.org/umbrello/792510763414d4cee23f9bca75c1bb23cffec41a Git commit efd232c051af949ed56806474b7fc187f8ff82b9 by Ralf Habacker. Committed on 09/06/2016 at 06:34. Pushed by habacker into branch 'master'. Do not install icons which are embedded into the application. M +0 -34 umbrello/pics/CMakeLists.txt http://commits.kde.org/umbrello/efd232c051af949ed56806474b7fc187f8ff82b9 Git commit fe42491cc3283e22c05f9acda58e8f4460c0e353 by Ralf Habacker. Committed on 09/06/2016 at 21:39. Pushed by habacker into branch 'master'. Fix 'Umbrello toolbar icons does not match diagram widgets and cursors running under "breeze" style'. Icons are now integrated into umbrello binary by using a qrc file. FIXED-IN:2.19.80 (KDE Applications 16.07.80) M +1 -0 CMakeLists.txt M +1 -0 umbrello/CMakeLists.txt M +29 -5 umbrello/icon_utils.cpp A +174 -0 umbrello/icons.qrc M +1 -0 umbrello/main.cpp http://commits.kde.org/umbrello/fe42491cc3283e22c05f9acda58e8f4460c0e353 Git commit 883bba505bf2e628c0ce696f4f4aef8331a1d49c by Ralf Habacker. Committed on 09/06/2016 at 21:39. Pushed by habacker into branch 'master'. Fix 'warning: potential duplicate alias detected:' in icons.qrc. M +7 -8 umbrello/icons.qrc http://commits.kde.org/umbrello/883bba505bf2e628c0ce696f4f4aef8331a1d49c Git commit 04d61238d73b05cfb6c63fcdbcf16059c5633c67 by Ralf Habacker. Committed on 09/06/2016 at 21:39. Pushed by habacker into branch 'master'. Fix compile error 'undefined reference to `qInitResources_icons()' on KF5 builds. M +2 -1 CMakeLists.txt http://commits.kde.org/umbrello/04d61238d73b05cfb6c63fcdbcf16059c5633c67 Git commit 09f9b27ae179a7e7d58f856c3cd73372f0693a59 by Ralf Habacker. Committed on 09/06/2016 at 21:39. Pushed by habacker into branch 'master'. Do not install icons which are embedded into the application. M +0 -34 umbrello/pics/CMakeLists.txt http://commits.kde.org/umbrello/09f9b27ae179a7e7d58f856c3cd73372f0693a59 (In reply to Ralf Habacker from comment #7) > Git commit 04d61238d73b05cfb6c63fcdbcf16059c5633c67 by Ralf Habacker. > Committed on 09/06/2016 at 21:39. > Pushed by habacker into branch 'master'. > > Fix compile error 'undefined reference to `qInitResources_icons()' on KF5 > builds. > > M +2 -1 CMakeLists.txt > > http://commits.kde.org/umbrello/04d61238d73b05cfb6c63fcdbcf16059c5633c67 FYI: Using Qt 4.8.6, I also got this unresolved symbol error on linking. The following patch fixed it for me: diff --git a/umbrello/main.cpp b/umbrello/main.cpp index 12ebd65..00da738 100644 --- a/umbrello/main.cpp +++ b/umbrello/main.cpp @@ -163,6 +163,7 @@ int main(int argc, char *argv[]) args->process(app); aboutData.processCommandLine(args); + Q_INIT_RESOURCE(icons); #else KCmdLineArgs::init(argc, argv, &aboutData); KCmdLineOptions options; @@ -175,8 +176,8 @@ int main(int argc, char *argv[]) options.add("use-folders", ki18n("keep the tree structure used to store the views in the document in the target directory")); KCmdLineArgs::addCmdLineOptions(options); // Add our own options. KApplication app; + Q_INIT_RESOURCE_EXTERN(icons); #endif - Q_INIT_RESOURCE(icons); QPointer<UMLApp> uml; if (app.isSessionRestored()) { (In reply to Oliver Kellogg from comment #9) > FYI: Using Qt 4.8.6, I also got this unresolved symbol error on linking. > The following patch fixed it for me: I tried a KDE4/Qt 4.8 build of recent umbrello master branch on jenkins without this patch and got no compile errors (see https://build.kde.org/job/umbrello%20master%20latest-qt4/PLATFORM=Linux,compiler=gcc/31/console) Not sure how to reproduce this issue. Any hints welcome. (In reply to Ralf Habacker from comment #10) > (In reply to Oliver Kellogg from comment #9) > > FYI: Using Qt 4.8.6, I also got this unresolved symbol error on linking. > > The following patch fixed it for me: > I tried a KDE4/Qt 4.8 build of recent umbrello master branch on jenkins > without this patch and got no compile errors (see > https://build.kde.org/job/umbrello%20master%20latest-qt4/PLATFORM=Linux, > compiler=gcc/31/console) > Not sure how to reproduce this issue. Any hints welcome. I am using gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) i686-linux-gnu on a Ubuntu 14.04.4 (trusty). IMHO I am experiencing a GCC related problem. Looking at /usr/include/qt4/QtCore/qglobal.h , we have: #define Q_INIT_RESOURCE_EXTERN(name) \ extern int QT_MANGLE_NAMESPACE(qInitResources_ ## name) (); #define Q_INIT_RESOURCE(name) \ do { extern int QT_MANGLE_NAMESPACE(qInitResources_ ## name) (); \ QT_MANGLE_NAMESPACE(qInitResources_ ## name) (); } while (0) so basically they are the same except that Q_INIT_RESOURCE embeds the *extern* declaration in a do-while block. What GCC version are you using? (In reply to Oliver Kellogg from comment #11) > [...] > Looking at /usr/include/qt4/QtCore/qglobal.h , we have: > > #define Q_INIT_RESOURCE_EXTERN(name) \ > extern int QT_MANGLE_NAMESPACE(qInitResources_ ## name) (); > > #define Q_INIT_RESOURCE(name) \ > do { extern int QT_MANGLE_NAMESPACE(qInitResources_ ## name) (); \ > QT_MANGLE_NAMESPACE(qInitResources_ ## name) (); } while (0) > > so basically they are the same except that Q_INIT_RESOURCE embeds the > *extern* declaration in a do-while block. > Sorry, that was incorrect - of course, Q_INIT_RESOURCE includes the call to QT_MANGLE_NAMESPACE(qInitResources_ ## name) (); which Q_INIT_RESOURCE_EXTERN does not. In which library should qInitResources_icons() be defined? (In reply to Oliver Kellogg from comment #11) > What GCC version are you using? linux 4.8.3 https://build.opensuse.org/package/show/home:rhabacker:branches:KDE:Current/umbrello 4.8.1 local windows cross compile 6.1.0 https://build.opensuse.org/package/show/windows:mingw:win32/mingw32-umbrello (In reply to Oliver Kellogg from comment #11) > I am using gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) i686-linux-gnu > on a Ubuntu 14.04.4 (trusty). Please provide dedicated build information for this platform. (In reply to Ralf Habacker from comment #14) > (In reply to Oliver Kellogg from comment #11) > > I am using gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) i686-linux-gnu > > on a Ubuntu 14.04.4 (trusty). > Please provide dedicated build information for this platform. Hmm, coming to think, I was still using the KDE 4.x based build - which will go away shortly (cleanup done by Lays). I think I will rest my case and get busy switching to KF5. (In reply to Ralf Habacker from comment #14) > (In reply to Oliver Kellogg from comment #11) > > I am using gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) i686-linux-gnu > > on a Ubuntu 14.04.4 (trusty). > Please provide dedicated build information for this platform Here is an example how to build: vagrant init ubuntu/trusty64 vagrant up vagrant ssh sudo apt-get install kdelibs5-dev libxslt1-dev libxml2-dev git git clone git://anongit.kde.org/umbrello mkdir umbrello-build cd umbrello-build cmake ../umbrello make Git commit d07b449805b383e366d3f813e2462280cdc61596 by Ralf Habacker. Committed on 28/08/2016 at 22:40. Pushed by habacker into branch 'Applications/16.08'. Fix compile issue on Ubuntu 14.04.4 (trusty). FIXED-IN:2.20.1 (KDE Applications 16.08.1) M +2 -1 umbrello/main.cpp http://commits.kde.org/umbrello/d07b449805b383e366d3f813e2462280cdc61596 (In reply to Oliver Kellogg from comment #12) > In which library should qInitResources_icons() be defined? on ubuntu/trusty and opensuse Leap there is only a symbol /usr/lib/x86_64-linux-gnu/libQtCore.so (standard input):274:0000000000125ea0 T _Z15qInitResourceIOv [qInitResourceIO()] (In reply to Ralf Habacker from comment #18) > (In reply to Oliver Kellogg from comment #12) > > In which library should qInitResources_icons() be defined? It is defined in CMakeFiles/libumbrello.dir/qrc_icons.cpp:9388:int QT_MANGLE_NAMESPACE(qInitResources_icons)() which is preprocessed with ~/src/umbrello-16.08-build/umbrello> make CMakeFiles/libumbrello.dir/qrc_icons.i to int qInitResources_icons() { ::qRegisterResourceData (0x01, qt_resource_struct, qt_resource_name, qt_resource_data); return 1; } The curious thing is that it does not fail on opensuse Leap but on trusty. (In reply to Ralf Habacker from comment #19) > The curious thing is that it does not fail on opensuse Leap but on trusty. This looks like a cmake issue. On opensuse Leap using cmake 3.3.2 I get [ 0%] Automatic moc and rcc for target libumbrello while on trusty using cmake 2.8.12 there is [ 1%] Automoc for target libumbrello no rcc run. *** Bug 365881 has been marked as a duplicate of this bug. *** |