would be great to collect and exchange this to help each other - don't know where's the best place and it should be promoted by Qt
Several packages which improve using Qt on mobile (and elsewhere!) are currently published on qpm (http://qpm.io), with the sources available on github. Currently there are just a couple of projects tageting native parts but that should change if more people invest their time and energy. Most of the mobile app developers who provide these meet and discuss regularly on http://slackin.qtmob.org as well as on the regular channels. Everyone is welcome to join so that efforts are not duplicate. Hope this helps! Marco Piccolino Il 25 giu 2016 9:04 PM, <interest-requ...@qt-project.org> ha scritto: > > Send Interest mailing list submissions to > interest@qt-project.org > > To subscribe or unsubscribe via the World Wide Web, visit > http://lists.qt-project.org/mailman/listinfo/interest > or, via email, send a message with subject or body 'help' to > interest-requ...@qt-project.org > > You can reach the person managing the list at > interest-ow...@qt-project.org > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of Interest digest..." > > Today's Topics: > > 1. Re: 5.8 Features? (Jason H) > 2. Fwd: Re: QUndoStack (Igor Mironchik) > 3. Fwd: Re: QUndoStack (Igor Mironchik) > 4. Re: 5.8 Features? (Kevin Mcintyre) > 5. Re: Deploying QtWebEngine on Linux with Qt 5.6.0 (Thiago Macieira) > 6. Re: 5.8 Features? (ekke) > 7. QGraphicsScene & removing item (Igor Mironchik) > 8. Re: QMAKE_DEFAULT_INCDIRS = "/opt/local/include /usr/include" > and building QtWebengine (Ren? J. V. Bertin) > 9. Re: QGraphicsScene & removing item (Igor Mironchik) > > > ---------- Messaggio inoltrato ---------- > From: Jason H <jh...@gmx.com> > To: ekke <e...@ekkes-corner.org> > Cc: interest@qt-project.org > Date: Fri, 24 Jun 2016 21:59:59 +0200 > Subject: Re: [Interest] 5.8 Features? > I've solved these, to various exents, or Android and iOS. > I would share my code as longas everyone promises to not laughs at my code. I do not know what is "best" or everyone. I just wrote what I had to fill the requirement I had. > > *> Sent:* Friday, June 24, 2016 at 12:20 PM *> From:* ekke <e...@ekkes-corner.org> *> To:* interest@qt-project.org *> Subject:* Re: [Interest] 5.8 Features? > Am 24.06.16 um 18:02 schrieb Jason H: >> >> 6 months of latency would be great. >> But the things I talk about are pretty basic on mobile: >> - Foreground/background lifecycle events, >> - Screen wake locks, >> - Notifications (local / remote) >> >> These have been aound since before Qt targeted mobile and are sorely STILL missing from Qt. >> >> Things upcoming that I wouldn't complain about having to implement myself: >> - Fingerprint scanning >> As this is relatively new for Android and iOS platforms. Though the Atrix (2010) had a fingerprint scanner, but only Android 6 had a platform API. iPhone had it as of the 5S. >> >> It's like Qt is on mobile only if you want to put things on the screen and do AJAX. But if you really want to do anything really "mobile" you're on your own. We still can't control the video recording parameters on iOS (Thanks to my company, it will land in 5.6.2 -- was supposed to land in 5.6.1). Qt can only really be accurately described to be a Cross-platform UI on mobile. Outside of that, you're writing Java and Obj-C. So call it cross-platform for mobile is a stretch. I urging Qt to focus on eliminating the asterisks, so it's proper Mobile (capital M) platform. >> >> With that said though, Qt's abstraction of various platform services is a godsend. The fact that ReactNative gives you access to AVFoundation doesn't do a whole lot when you have to write ReactNative that targets AVFoundation and more code to target android.media SDK and handle the intricacies of both in your own code base. So I think the Qt approach is right. I just want more of it. :-) >> > > +1 > > another point: I think that there are many developers out there already implementing common missing features in Java and ObjectiveC > > would be great to collect and exchange this to help each other - don't know where's the best place and it should be promoted by Qt >> >> *>> Sent:* Friday, June 24, 2016 at 9:26 AM *>> From:* "Xavier Bigand" <flamaros.xav...@gmail.com> <http://flamaros.xav...@gmail.com> *>> To:* "Robert Iakobashvili" <corobe...@gmail.com> <http://corobe...@gmail.com> *>> Cc:* interest <interest@qt-project.org> <http://interest@qt-project.org> *>> Subject:* Re: [Interest] 5.8 Features? >> Like you said I think that the iOS and Android progress too fast and on an other cadence than Qt. >> We should not forget that Qt has to create a unified cross platform API, that is necessary harder than creating a new one for one platform. >> >> I think that a latency of 6 months to a year is still reasonable for Qt depending on how it fall with releases. >> >> In my opinion if you need something faster, you may have to consider to implement features your self. We started our application with 4.8 and necessitas and Qt was much slower than now to integrate new features provided by mobile devices. Some features like DPI retrieving wasn't correctly implemented so because it was a blocker for us, we fixed it by calling the native API on Android. >> >> >> >> >> >> 2016-06-24 15:00 GMT+02:00 Robert Iakobashvili <corobe...@gmail.com>: >>> >>> On Tue, Jun 21, 2016 at 10:55 PM, Jason H <jh...@gmx.com> wrote: >>> > I feel like the last few releases have been run by the trolls, and not the users of Qt. I was hoping open governance would enable the community to direct Qt development, but I seem to have misinterpreted what it means. I'm looking for what's going into 5.8.. not much listed on the releases page. >>> > >>> > I'd like to suggest that mobile get some much needed love. >>> > - Application state transitions; Foreground, background >>> > - Background processing API >>> > - Screen wake lock API >>> > - In-app Notifications: local, remote >>> > >>> > While I have those characterized as "mobile" there are things like notifications occurring on desktop platforms. >>> > >>> > Any thoughts? >>> > >>> >>> Agree with Jason that mobile support needs more love >>> and adding "Native, native, native ..." >>> >>> However, it could be that progress made at iOS and Android side is too fast and >>> our expectations from Qt are too high? >>> >>> As any cross-platform framework Qt has its limitations. >>> Still, it has good integration points to allow additions of native code. >>> >>> jm4c to add. >>> >>> Kind regards, >>> Robert >>> _______________________________________________ >>> Interest mailing list >>> Interest@qt-project.org >>> http://lists.qt-project.org/mailman/listinfo/interest <http://lists.qt-project.org/mailman/listinfo/interest> >> >> >> >> -- >> Xavier >> _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest >> >> >> _______________________________________________ >> Interest mailing list >> Interest@qt-project.org <http://Interest@qt-project.org> >> http://lists.qt-project.org/mailman/listinfo/interest <http://lists.qt-project.org/mailman/listinfo/interest> > > > > > _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest > > > ---------- Messaggio inoltrato ---------- > From: Igor Mironchik <igor.mironc...@gmail.com> > To: "interest@qt-project.org" <interest@qt-project.org> > Cc: > Date: Fri, 24 Jun 2016 23:02:35 +0300 > Subject: [Interest] Fwd: Re: QUndoStack > > > > -------- Forwarded Message -------- > Subject: > Re: [Interest] QUndoStack > Date: > Fri, 24 Jun 2016 19:35:44 +0300 > From: > Igor Mironchik <igor.mironc...@gmail.com> <igor.mironc...@gmail.com> > To: > Alan Ezust <alan.ez...@gmail.com> <alan.ez...@gmail.com> > > > How I missed it?! Thank you for the links. I solved it by undone flag in commands, so redo() does nothing untill undo() done. > > 24.06.2016 18:42 пользователь "Alan Ezust" <alan.ez...@gmail.com> написал: >> >> There is another thread on this very subject from last week: >> >> http://lists.qt-project.org/pipermail/interest/2016-June/023114.html <http://lists.qt-project.org/pipermail/interest/2016-June/023114.html> >> http://lists.qt-project.org/pipermail/interest/2016-June/023116.html <http://lists.qt-project.org/pipermail/interest/2016-June/023116.html> >> >> I agree with you, the QUndoStack design is really odd and the need to execute commands while pushing (in my view) makes it less flexible than it could be. I wonder if we will hear from anyone who likes this design? >> >> >> >> On Fri, Jun 24, 2016 at 5:22 AM, Igor Mironchik <igor.mironc...@gmail.com> wrote: >>> >>> Hello. >>> >>> I'm adding undo stack to my app. But in the documentation I found: >>> >>> void QUndoStack::push(QUndoCommand <http://qundocommand.html> *cmd) >>> >>> Pushes cmd on the stack or merges it with the most recently executed command. In either case, executes cmd by calling its redo <http://qundostack.html#redo>() function. >>> >>> And in sources: >>> >>> void QUndoStack::push(QUndoCommand *cmd) >>> { >>> Q_D(QUndoStack); >>> cmd->redo(); >>> >>> So my question is why just pushed to the stack undo command executes? I.e. why cmd->redo() calls in push()? >>> >>> If I understand all correctly then cmd->redo() should be called only in QUndoStack::redo() method. And in push I just want to push new undo command to the stack... >>> >>> >>> _______________________________________________ >>> Interest mailing list >>> Interest@qt-project.org <Interest@qt-project.org> >>> http://lists.qt-project.org/mailman/listinfo/interest <http://lists.qt-project.org/mailman/listinfo/interest> >>> >> > > > > > ---------- Messaggio inoltrato ---------- > From: Igor Mironchik <igor.mironc...@gmail.com> > To: "interest@qt-project.org" <interest@qt-project.org> > Cc: > Date: Fri, 24 Jun 2016 23:03:03 +0300 > Subject: [Interest] Fwd: Re: QUndoStack > > > > -------- Forwarded Message -------- > Subject: > Re: [Interest] QUndoStack > Date: > Fri, 24 Jun 2016 19:38:22 +0300 > From: > Igor Mironchik <igor.mironc...@gmail.com> <igor.mironc...@gmail.com> > To: > Bob Hood <bho...@comcast.net> <bho...@comcast.net> > > > Your approach is possible. But guess that you move rect in scene by mouse, then auto redo() is ugly. :) > > 24.06.2016 18:53 пользователь "Bob Hood" <bho...@comcast.net> написал: >> >> On 6/24/2016 9:42 AM, Alan Ezust wrote: >>> >>> There is another thread on this very subject from last week: >>> >>> http://lists.qt-project.org/pipermail/interest/2016-June/023114.html <http://lists.qt-project.org/pipermail/interest/2016-June/023114.html> >>> http://lists.qt-project.org/pipermail/interest/2016-June/023116.html <http://lists.qt-project.org/pipermail/interest/2016-June/023116.html> >>> >>> I agree with you, the QUndoStack design is really odd and the need to execute commands while pushing (in my view) makes it less flexible than it could be. I wonder if we will hear from anyone who likes this design? >> >> >> It has been my experience that this is the typical design of an Undo system. You invoke redo() as you inject the undo action into the stack, effectively killing two birds with one stone. You don't push an action onto the stack unless it has actually been applied. If the Undo stack did not apply the action, there's no contract in place to guarantee that the action has been, or will be, applied in another context. A subsequent undo() on an action that was never applied means you might (in the best case) corrupt the application's data. >> >> It's an effective design, requiring less code, and guaranteeing a valid stack state. >> >> Just my $0.02. >> _______________________________________________ >> Interest mailing list >> Interest@qt-project.org <Interest@qt-project.org> >> http://lists.qt-project.org/mailman/listinfo/interest <http://lists.qt-project.org/mailman/listinfo/interest> > > > > > > ---------- Messaggio inoltrato ---------- > From: Kevin Mcintyre <kebi...@gmail.com> > To: Jason H <jh...@gmx.com> > Cc: ekke <e...@ekkes-corner.org>, interest@qt-project.org > Date: Fri, 24 Jun 2016 13:46:29 -0700 > Subject: Re: [Interest] 5.8 Features? > I had this issue after I installed QT a couple of times (the first time I didn't install with version with Android) > > So looking back on my notes I sent to "Interest" - I resolved > > "via export LD_LIBRARY_PATH=/home/ubuntu/Qt/5.6/gcc_64/lib in my .bashrc file." > > On Fri, Jun 24, 2016 at 12:59 PM, Jason H <jh...@gmx.com> wrote: >> >> I've solved these, to various exents, or Android and iOS. >> I would share my code as longas everyone promises to not laughs at my code. I do not know what is "best" or everyone. I just wrote what I had to fill the requirement I had. >> >> *>> Sent:* Friday, June 24, 2016 at 12:20 PM *>> From:* ekke <e...@ekkes-corner.org> *>> To:* interest@qt-project.org >> *>> Subject:* Re: [Interest] 5.8 Features? >> Am 24.06.16 um 18:02 schrieb Jason H: >>> >>> 6 months of latency would be great. >>> But the things I talk about are pretty basic on mobile: >>> - Foreground/background lifecycle events, >>> - Screen wake locks, >>> - Notifications (local / remote) >>> >>> These have been aound since before Qt targeted mobile and are sorely STILL missing from Qt. >>> >>> Things upcoming that I wouldn't complain about having to implement myself: >>> - Fingerprint scanning >>> As this is relatively new for Android and iOS platforms. Though the Atrix (2010) had a fingerprint scanner, but only Android 6 had a platform API. iPhone had it as of the 5S. >>> >>> It's like Qt is on mobile only if you want to put things on the screen and do AJAX. But if you really want to do anything really "mobile" you're on your own. We still can't control the video recording parameters on iOS (Thanks to my company, it will land in 5.6.2 -- was supposed to land in 5.6.1). Qt can only really be accurately described to be a Cross-platform UI on mobile. Outside of that, you're writing Java and Obj-C. So call it cross-platform for mobile is a stretch. I urging Qt to focus on eliminating the asterisks, so it's proper Mobile (capital M) platform. >>> >>> With that said though, Qt's abstraction of various platform services is a godsend. The fact that ReactNative gives you access to AVFoundation doesn't do a whole lot when you have to write ReactNative that targets AVFoundation and more code to target android.media SDK and handle the intricacies of both in your own code base. So I think the Qt approach is right. I just want more of it. :-) >>> >> >> +1 >> >> another point: I think that there are many developers out there already implementing common missing features in Java and ObjectiveC >> >> would be great to collect and exchange this to help each other - don't know where's the best place and it should be promoted by Qt >>> >>> *>>> Sent:* Friday, June 24, 2016 at 9:26 AM *>>> From:* "Xavier Bigand" <flamaros.xav...@gmail.com> <http://flamaros.xav...@gmail.com> *>>> To:* "Robert Iakobashvili" <corobe...@gmail.com> <http://corobe...@gmail.com> *>>> Cc:* interest <interest@qt-project.org> <http://interest@qt-project.org> *>>> Subject:* Re: [Interest] 5.8 Features? >>> Like you said I think that the iOS and Android progress too fast and on an other cadence than Qt. >>> We should not forget that Qt has to create a unified cross platform API, that is necessary harder than creating a new one for one platform. >>> >>> I think that a latency of 6 months to a year is still reasonable for Qt depending on how it fall with releases. >>> >>> In my opinion if you need something faster, you may have to consider to implement features your self. We started our application with 4.8 and necessitas and Qt was much slower than now to integrate new features provided by mobile devices. Some features like DPI retrieving wasn't correctly implemented so because it was a blocker for us, we fixed it by calling the native API on Android. >>> >>> >>> >>> >>> >>> 2016-06-24 15:00 GMT+02:00 Robert Iakobashvili <corobe...@gmail.com>: >>>> >>>> On Tue, Jun 21, 2016 at 10:55 PM, Jason H <jh...@gmx.com> wrote: >>>> > I feel like the last few releases have been run by the trolls, and not the users of Qt. I was hoping open governance would enable the community to direct Qt development, but I seem to have misinterpreted what it means. I'm looking for what's going into 5.8.. not much listed on the releases page. >>>> > >>>> > I'd like to suggest that mobile get some much needed love. >>>> > - Application state transitions; Foreground, background >>>> > - Background processing API >>>> > - Screen wake lock API >>>> > - In-app Notifications: local, remote >>>> > >>>> > While I have those characterized as "mobile" there are things like notifications occurring on desktop platforms. >>>> > >>>> > Any thoughts? >>>> > >>>> >>>> Agree with Jason that mobile support needs more love >>>> and adding "Native, native, native ..." >>>> >>>> However, it could be that progress made at iOS and Android side is too fast and >>>> our expectations from Qt are too high? >>>> >>>> As any cross-platform framework Qt has its limitations. >>>> Still, it has good integration points to allow additions of native code. >>>> >>>> jm4c to add. >>>> >>>> Kind regards, >>>> Robert >>>> _______________________________________________ >>>> Interest mailing list >>>> Interest@qt-project.org >>>> http://lists.qt-project.org/mailman/listinfo/interest <http://lists.qt-project.org/mailman/listinfo/interest> >>> >>> >>> >>> -- >>> Xavier >>> _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest >>> >>> >>> _______________________________________________ >>> Interest mailing list >>> Interest@qt-project.org <http://Interest@qt-project.org> >>> http://lists.qt-project.org/mailman/listinfo/interest <http://lists.qt-project.org/mailman/listinfo/interest> >> >> >> >> >> _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest >> >> _______________________________________________ >> Interest mailing list >> Interest@qt-project.org <Interest@qt-project.org> >> http://lists.qt-project.org/mailman/listinfo/interest <http://lists.qt-project.org/mailman/listinfo/interest> >> > > > > ---------- Messaggio inoltrato ---------- > From: Thiago Macieira <thiago.macie...@intel.com> > To: interest@qt-project.org > Cc: > Date: Fri, 24 Jun 2016 17:17:59 -0700 > Subject: Re: [Interest] Deploying QtWebEngine on Linux with Qt 5.6.0 > On sexta-feira, 24 de junho de 2016 15:40:17 PDT Mike Jackson wrote: > > I am running Ubuntu 14.04 and Qt 5.6 downloaded from downloads.qt.io. I > > have built my application > > and the application runs but when I try to invoke the QWebEngine classes I > > just get an empty widget and the following error in the terminal: > > > > /opt/DREAM3D_SDK/Qt5.6.0/5.6/gcc_64/libexec/QtWebEngineProcess: error while > > loading shared libraries: libQt5WebEngineCore.so.5: cannot open shared > > object file: No such file or directory > > > > The same thing happens when I package my application. I have tried all > > sorts of ways of configuring the qt.conf directory, moving libs into other > > folders, renaming executables but nothing seems to work. Has anyone else > > run into a situation like this? Can anyone make recommendations on how to > > package QWebEngine? > > You need to set the LD_LIBRARY_PATH environment variable before your > application is started. So replace your application with a shell script that > sets the environment and then starts the application. > > -- > Thiago Macieira - thiago.macieira (AT) intel.com > Software Architect - Intel Open Source Technology Center > > > > > ---------- Messaggio inoltrato ---------- > From: ekke <e...@ekkes-corner.org> > To: interest@qt-project.org > Cc: > Date: Sat, 25 Jun 2016 10:53:53 +0200 > Subject: Re: [Interest] 5.8 Features? > Am 24.06.16 um 21:59 schrieb Jason H: >> >> I've solved these, to various exents, or Android and iOS. >> I would share my code as longas everyone promises to not laughs at my code. I do not know what is "best" or everyone. I just wrote what I had to fill the requirement I had. >> >> > > sharing code is always great > and if someone can do it better, getting patches or comments at github helps to make own code better > this is also reason why I'm publishing code: to hear from other devs what is wrong or can be done better *>>* *>> Sent:* Friday, June 24, 2016 at 12:20 PM *>> From:* ekke <e...@ekkes-corner.org> <e...@ekkes-corner.org> *>> To:* interest@qt-project.org *>> Subject:* Re: [Interest] 5.8 Features? >> Am 24.06.16 um 18:02 schrieb Jason H: >>> >>> 6 months of latency would be great. >>> But the things I talk about are pretty basic on mobile: >>> - Foreground/background lifecycle events, >>> - Screen wake locks, >>> - Notifications (local / remote) >>> >>> These have been aound since before Qt targeted mobile and are sorely STILL missing from Qt. >>> >>> Things upcoming that I wouldn't complain about having to implement myself: >>> - Fingerprint scanning >>> As this is relatively new for Android and iOS platforms. Though the Atrix (2010) had a fingerprint scanner, but only Android 6 had a platform API. iPhone had it as of the 5S. >>> >>> It's like Qt is on mobile only if you want to put things on the screen and do AJAX. But if you really want to do anything really "mobile" you're on your own. We still can't control the video recording parameters on iOS (Thanks to my company, it will land in 5.6.2 -- was supposed to land in 5.6.1). Qt can only really be accurately described to be a Cross-platform UI on mobile. Outside of that, you're writing Java and Obj-C. So call it cross-platform for mobile is a stretch. I urging Qt to focus on eliminating the asterisks, so it's proper Mobile (capital M) platform. >>> >>> With that said though, Qt's abstraction of various platform services is a godsend. The fact that ReactNative gives you access to AVFoundation doesn't do a whole lot when you have to write ReactNative that targets AVFoundation and more code to target android.media SDK and handle the intricacies of both in your own code base. So I think the Qt approach is right. I just want more of it. :-) >>> >> >> +1 >> >> another point: I think that there are many developers out there already implementing common missing features in Java and ObjectiveC >> >> would be great to collect and exchange this to help each other - don't know where's the best place and it should be promoted by Qt >>> >>> *>>> Sent:* Friday, June 24, 2016 at 9:26 AM *>>> From:* "Xavier Bigand" <flamaros.xav...@gmail.com> <http://flamaros.xav...@gmail.com> <flamaros.xav...@gmail.com> *>>> To:* "Robert Iakobashvili" <corobe...@gmail.com> <http://corobe...@gmail.com> <corobe...@gmail.com> *>>> Cc:* interest <interest@qt-project.org> <http://interest@qt-project.org> *>>> Subject:* Re: [Interest] 5.8 Features? >>> Like you said I think that the iOS and Android progress too fast and on an other cadence than Qt. >>> We should not forget that Qt has to create a unified cross platform API, that is necessary harder than creating a new one for one platform. >>> >>> I think that a latency of 6 months to a year is still reasonable for Qt depending on how it fall with releases. >>> >>> In my opinion if you need something faster, you may have to consider to implement features your self. We started our application with 4.8 and necessitas and Qt was much slower than now to integrate new features provided by mobile devices. Some features like DPI retrieving wasn't correctly implemented so because it was a blocker for us, we fixed it by calling the native API on Android. >>> >>> >>> >>> >>> >>> 2016-06-24 15:00 GMT+02:00 Robert Iakobashvili <corobe...@gmail.com>: >>>> >>>> On Tue, Jun 21, 2016 at 10:55 PM, Jason H <jh...@gmx.com> wrote: >>>> > I feel like the last few releases have been run by the trolls, and not the users of Qt. I was hoping open governance would enable the community to direct Qt development, but I seem to have misinterpreted what it means. I'm looking for what's going into 5.8.. not much listed on the releases page. >>>> > >>>> > I'd like to suggest that mobile get some much needed love. >>>> > - Application state transitions; Foreground, background >>>> > - Background processing API >>>> > - Screen wake lock API >>>> > - In-app Notifications: local, remote >>>> > >>>> > While I have those characterized as "mobile" there are things like notifications occurring on desktop platforms. >>>> > >>>> > Any thoughts? >>>> > >>>> >>>> Agree with Jason that mobile support needs more love >>>> and adding "Native, native, native ..." >>>> >>>> However, it could be that progress made at iOS and Android side is too fast and >>>> our expectations from Qt are too high? >>>> >>>> As any cross-platform framework Qt has its limitations. >>>> Still, it has good integration points to allow additions of native code. >>>> >>>> jm4c to add. >>>> >>>> Kind regards, >>>> Robert >>>> _______________________________________________ >>>> Interest mailing list >>>> Interest@qt-project.org >>>> http://lists.qt-project.org/mailman/listinfo/interest <http://lists.qt-project.org/mailman/listinfo/interest> >>> >>> >>> >>> -- >>> Xavier >>> _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest >>> >>> >>> _______________________________________________ >>> Interest mailing list >>> Interest@qt-project.org <http://Interest@qt-project.org> >>> http://lists.qt-project.org/mailman/listinfo/interest <http://lists.qt-project.org/mailman/listinfo/interest> >> >> >> >> >> _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest > > > > > ---------- Messaggio inoltrato ---------- > From: Igor Mironchik <igor.mironc...@gmail.com> > To: "interest@qt-project.org" <interest@qt-project.org> > Cc: > Date: Sat, 25 Jun 2016 19:40:10 +0300 > Subject: [Interest] QGraphicsScene & removing item > Hi, > > I ran into a problem. When I delete item (QGraphicsItem) from scene I received following crash: > > 1 QGraphicsSceneFindItemBspTreeVisitor::visit qgraphicsscene_bsp.cpp 77 0x7ffff76aeb24 > 2 QGraphicsSceneBspTree::climbTree qgraphicsscene_bsp.cpp 245 0x7ffff76ae6dc > 3 QGraphicsSceneBspTree::climbTree qgraphicsscene_bsp.cpp 259 0x7ffff76ae7ba > 4 QGraphicsSceneBspTree::climbTree qgraphicsscene_bsp.cpp 250 0x7ffff76ae71b > 5 QGraphicsSceneBspTree::climbTree qgraphicsscene_bsp.cpp 259 0x7ffff76ae7ba > 6 QGraphicsSceneBspTree::climbTree qgraphicsscene_bsp.cpp 250 0x7ffff76ae71b > 7 QGraphicsSceneBspTree::climbTree qgraphicsscene_bsp.cpp 259 0x7ffff76ae7ba > 8 QGraphicsSceneBspTree::items qgraphicsscene_bsp.cpp 152 0x7ffff76adb8a > 9 QGraphicsSceneBspTreeIndexPrivate::estimateItems qgraphicsscenebsptreeindex.cpp 389 0x7ffff76b1c14 > 10 QGraphicsSceneBspTreeIndex::estimateTopLevelItems qgraphicsscenebsptreeindex.cpp 543 0x7ffff76b24d5 > 11 QGraphicsScenePrivate::drawItems qgraphicsscene.cpp 4712 0x7ffff76937b9 > 12 QGraphicsView::paintEvent qgraphicsview.cpp 3550 0x7ffff76cc13a > 13 QWidget::event qwidget.cpp 8930 0x7ffff72b0d9e > 14 QFrame::event qframe.cpp 550 0x7ffff73ff4a5 > 15 QAbstractScrollArea::viewportEvent qabstractscrollarea.cpp 1213 0x7ffff74b92e0 > 16 QGraphicsView::viewportEvent qgraphicsview.cpp 2973 0x7ffff76c9930 > 17 QAbstractScrollAreaPrivate::viewportEvent qabstractscrollarea_p.h 111 0x7ffff74ba6d3 > 18 QAbstractScrollAreaFilter::eventFilter qabstractscrollarea_p.h 127 0x7ffff74ba7be > 19 QCoreApplicationPrivate::sendThroughObjectEventFilters qcoreapplication.cpp 1099 0x7ffff65a222f > 20 QApplicationPrivate::notify_helper qapplication.cpp 3795 0x7ffff725a201 > ... <More> > > Where visit() is: > > void visit(QList<QGraphicsItem *> *items) Q_DECL_OVERRIDE > { > for (int i = 0; i < items->size(); ++i) { > QGraphicsItem *item = items->at(i); > if (onlyTopLevelItems && item->d_ptr->parent) > item = item->topLevelItem(); > if (!item->d_func()->itemDiscovered && item->d_ptr->visible) { > item->d_func()->itemDiscovered = 1; > foundItems->prepend(item); > } > } > } > > I did two deletions and in this method I received two broken QGraphicsItems: > > > Locals > i 1 int > item @0x706990 QGraphicsItem > [vptr] <not accessible> > [0] > d_ptr 12884901888 QScopedPointer<QGraphicsItemPrivate, QScopedPointerDeleter<QGraphicsItemPrivate> > > items <4 items> QList<QGraphicsItem*> > [0] @0x866070 Prototyper::Core::GridSnap > [1] @0x706990 QGraphicsItem > [vptr] 0x0 > d_ptr 12884901888 QScopedPointer<QGraphicsItemPrivate, QScopedPointerDeleter<QGraphicsItemPrivate> > > [2] @0x706990 QGraphicsItem > [vptr] 0x0 > d_ptr 12884901888 QScopedPointer<QGraphicsItemPrivate, QScopedPointerDeleter<QGraphicsItemPrivate> > > [3] @0x866110 Prototyper::Core::Form > this @0x865f40 QGraphicsSceneFindItemBspTreeVisitor > Inspector > Expressions > Return Value > Tooltip > FormAction <not accessible> > FormResizeHandle <not accessible> > Q_DECL_OVERRIDE <no such value> > WithResizeAndMoveHandles <not accessible> > foundItems <1 items> QList<QGraphicsItem*> > m_bottom <not accessible> > onlyTopLevelItems true bool > setDeltaToZero <not accessible> > > My delete method is: > > void > Form::deleteItems( const QList< QGraphicsItem* > & items ) > { > foreach( QGraphicsItem * item, items ) > { > if( item == d->m_current ) > d->m_current = 0; > > FormObject * obj = dynamic_cast< FormObject* > ( item ); > > if( obj ) > { > pushUndoDeleteCommand( d->m_undoStack, obj, this ); > > d->m_model->removeObject( obj, this ); > > d->removeDescriptions( obj ); > } > > scene()->removeItem( item ); > > if( obj ) > { > d->m_model->endRemoveObject(); > > d->m_ids.removeOne( obj->objectId() ); > > switch( obj->objectType() ) > { > case FormObject::GroupType : > { > FormGroup * group = dynamic_cast< FormGroup* > ( item ); > > if( group ) > { > d->clearIds( group ); > > group->postDeletion(); > } > } > break; > > default : > { > obj->postDeletion(); > } > break; > } > } > > delete item; > } > } > > I do scene()->removeItem( item ); and delete item; but in the internals of QGraphicsScene I got two damaged pointers... > > What is the problem? Thank you. > > P.S. postDeletion() methods now is empty, like: > > void postDeletion() > { > } > > > > > ---------- Messaggio inoltrato ---------- > From: "René J. V." <rjvber...@gmail.com> > To: interest@qt-project.org > Cc: > Date: Sat, 25 Jun 2016 20:04:30 +0200 > Subject: Re: [Interest] QMAKE_DEFAULT_INCDIRS = "/opt/local/include /usr/include" and building QtWebengine > Thiago Macieira wrote: > > > On sexta-feira, 24 de junho de 2016 12:59:13 PDT René J. V. Bertin wrote: > >> - echo `echo "$1" | sed 's,^[^ ]* .*$,"&",'` > >> + echo `echo $@ | sed 's,^[^ ]* .*$,&,'` > > > > This has no effect on your issue and in fact makes it worse. > > > > Previously, shellQuoteLines * printed *. Now it prints the list of files. > > Hmm, indeed, but apparently that issue is moot for me. > > Putting the expression in a shell script I do not manage to get it to print *, > with neither form. Except when I wrap the line with set -f / set +f to turn of > globbing temporarily. > > R > > > > > ---------- Messaggio inoltrato ---------- > From: Igor Mironchik <igor.mironc...@gmail.com> > To: "interest@qt-project.org" <interest@qt-project.org> > Cc: > Date: Sat, 25 Jun 2016 22:04:17 +0300 > Subject: Re: [Interest] QGraphicsScene & removing item > Hi. > > Removing of scene()->removeItem( item ); solved the problem. > > I read old mailing list about such problem, yet in Qt 4. And guys advised to put prepareGeometryChange(). I checked it, and with this method app crashes more frequently. > > And removing removeItem() solves the problem. > > So problem is very old. May be somebody know what is the reason? > > On 25.06.2016 19:40, Igor Mironchik wrote: >> >> Hi, >> >> I ran into a problem. When I delete item (QGraphicsItem) from scene I received following crash: >> >> 1 QGraphicsSceneFindItemBspTreeVisitor::visit qgraphicsscene_bsp.cpp 77 0x7ffff76aeb24 >> 2 QGraphicsSceneBspTree::climbTree qgraphicsscene_bsp.cpp 245 0x7ffff76ae6dc >> 3 QGraphicsSceneBspTree::climbTree qgraphicsscene_bsp.cpp 259 0x7ffff76ae7ba >> 4 QGraphicsSceneBspTree::climbTree qgraphicsscene_bsp.cpp 250 0x7ffff76ae71b >> 5 QGraphicsSceneBspTree::climbTree qgraphicsscene_bsp.cpp 259 0x7ffff76ae7ba >> 6 QGraphicsSceneBspTree::climbTree qgraphicsscene_bsp.cpp 250 0x7ffff76ae71b >> 7 QGraphicsSceneBspTree::climbTree qgraphicsscene_bsp.cpp 259 0x7ffff76ae7ba >> 8 QGraphicsSceneBspTree::items qgraphicsscene_bsp.cpp 152 0x7ffff76adb8a >> 9 QGraphicsSceneBspTreeIndexPrivate::estimateItems qgraphicsscenebsptreeindex.cpp 389 0x7ffff76b1c14 >> 10 QGraphicsSceneBspTreeIndex::estimateTopLevelItems qgraphicsscenebsptreeindex.cpp 543 0x7ffff76b24d5 >> 11 QGraphicsScenePrivate::drawItems qgraphicsscene.cpp 4712 0x7ffff76937b9 >> 12 QGraphicsView::paintEvent qgraphicsview.cpp 3550 0x7ffff76cc13a >> 13 QWidget::event qwidget.cpp 8930 0x7ffff72b0d9e >> 14 QFrame::event qframe.cpp 550 0x7ffff73ff4a5 >> 15 QAbstractScrollArea::viewportEvent qabstractscrollarea.cpp 1213 0x7ffff74b92e0 >> 16 QGraphicsView::viewportEvent qgraphicsview.cpp 2973 0x7ffff76c9930 >> 17 QAbstractScrollAreaPrivate::viewportEvent qabstractscrollarea_p.h 111 0x7ffff74ba6d3 >> 18 QAbstractScrollAreaFilter::eventFilter qabstractscrollarea_p.h 127 0x7ffff74ba7be >> 19 QCoreApplicationPrivate::sendThroughObjectEventFilters qcoreapplication.cpp 1099 0x7ffff65a222f >> 20 QApplicationPrivate::notify_helper qapplication.cpp 3795 0x7ffff725a201 >> ... <More> >> >> Where visit() is: >> >> void visit(QList<QGraphicsItem *> *items) Q_DECL_OVERRIDE >> { >> for (int i = 0; i < items->size(); ++i) { >> QGraphicsItem *item = items->at(i); >> if (onlyTopLevelItems && item->d_ptr->parent) >> item = item->topLevelItem(); >> if (!item->d_func()->itemDiscovered && item->d_ptr->visible) { >> item->d_func()->itemDiscovered = 1; >> foundItems->prepend(item); >> } >> } >> } >> >> I did two deletions and in this method I received two broken QGraphicsItems: >> >> >> Locals >> i 1 int >> item @0x706990 QGraphicsItem >> [vptr] <not accessible> >> [0] >> d_ptr 12884901888 QScopedPointer<QGraphicsItemPrivate, QScopedPointerDeleter<QGraphicsItemPrivate> > >> items <4 items> QList<QGraphicsItem*> >> [0] @0x866070 Prototyper::Core::GridSnap >> [1] @0x706990 QGraphicsItem >> [vptr] 0x0 >> d_ptr 12884901888 QScopedPointer<QGraphicsItemPrivate, QScopedPointerDeleter<QGraphicsItemPrivate> > >> [2] @0x706990 QGraphicsItem >> [vptr] 0x0 >> d_ptr 12884901888 QScopedPointer<QGraphicsItemPrivate, QScopedPointerDeleter<QGraphicsItemPrivate> > >> [3] @0x866110 Prototyper::Core::Form >> this @0x865f40 QGraphicsSceneFindItemBspTreeVisitor >> Inspector >> Expressions >> Return Value >> Tooltip >> FormAction <not accessible> >> FormResizeHandle <not accessible> >> Q_DECL_OVERRIDE <no such value> >> WithResizeAndMoveHandles <not accessible> >> foundItems <1 items> QList<QGraphicsItem*> >> m_bottom <not accessible> >> onlyTopLevelItems true bool >> setDeltaToZero <not accessible> >> >> My delete method is: >> >> void >> Form::deleteItems( const QList< QGraphicsItem* > & items ) >> { >> foreach( QGraphicsItem * item, items ) >> { >> if( item == d->m_current ) >> d->m_current = 0; >> >> FormObject * obj = dynamic_cast< FormObject* > ( item ); >> >> if( obj ) >> { >> pushUndoDeleteCommand( d->m_undoStack, obj, this ); >> >> d->m_model->removeObject( obj, this ); >> >> d->removeDescriptions( obj ); >> } >> >> scene()->removeItem( item ); >> >> if( obj ) >> { >> d->m_model->endRemoveObject(); >> >> d->m_ids.removeOne( obj->objectId() ); >> >> switch( obj->objectType() ) >> { >> case FormObject::GroupType : >> { >> FormGroup * group = dynamic_cast< FormGroup* > ( item ); >> >> if( group ) >> { >> d->clearIds( group ); >> >> group->postDeletion(); >> } >> } >> break; >> >> default : >> { >> obj->postDeletion(); >> } >> break; >> } >> } >> >> delete item; >> } >> } >> >> I do scene()->removeItem( item ); and delete item; but in the internals of QGraphicsScene I got two damaged pointers... >> >> What is the problem? Thank you. >> >> P.S. postDeletion() methods now is empty, like: >> >> void postDeletion() >> { >> } >> > > > > _______________________________________________ > Interest mailing list > Interest@qt-project.org <Interest@qt-project.org> > http://lists.qt-project.org/mailman/listinfo/interest <http://lists.qt-project.org/mailman/listinfo/interest> >
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest