From richard at weickelt.de Sun Oct 1 11:16:55 2017 From: richard at weickelt.de (Richard Weickelt) Date: Sun, 1 Oct 2017 11:16:55 +0200 Subject: [Interest] Only 9 QML components can be created partially? Message-ID: <504cda0b-cd71-8e4a-53e1-60c38b14afdb@weickelt.de> Hi, the following example fails after 9 loop iterations: #include #include int main(int argc, char *argv[]) { QCoreApplication app(argc, argv); QQmlEngine engine; QQmlComponent* components[47]; QObject* objects[47]; for (int i = 0; i <= 47; i++) { components[i] = new QQmlComponent(&engine); components[i]->setData("import QtQml 2.0\n QtObject{}", QUrl()); objects[i] = components[i]->beginCreate(engine.rootContext()); Q_ASSERT(objects[i] != NULL); } } Command line: $ test QQmlComponent: Component creation is recursing - aborting ASSERT: "objects[i] != NULL" in file /XXX/testmain.cpp, line 16 I do not see, how this relates to recursion. The root cause seems to be http://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=19c0a31319148d4ac716f7cb3295891b5a3b20d9 In fact, this patch does not detect recursive component creation. But it triggers when more than 9 components are partially created, no matter in what structure/order. Q1: Is the implementation in QQmlComponent wrong? Q2: Is my use case a valid one? Background: I need to create a couple of QML components, but I cannot complete creation until all components are partially loaded. Each component has a (constant) property that needs to be evaluated first. Depending on that, some properties will be injected in the other components. Q3: Can I achieve that in a different (but simple) way? Thanks Richard From thiago.macieira at intel.com Sun Oct 1 11:02:02 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Sun, 01 Oct 2017 02:02:02 -0700 Subject: [Interest] What's the configure switch to have xcb working when deploying Qt apps? In-Reply-To: References: Message-ID: <2076915.DhjjU5ymbj@tjmaciei-mobl1> On Saturday, 30 September 2017 13:55:55 PDT Nikos Chantziaras wrote: > Available platform plugins are eglfs, minimal, minimalegl, > offscreen, wayland-egl, wayland, xcb. The plugin is listed, but couldn't be loaded. Run ldd on the plugin and you'll see what libraries are missing. They need to be installed in the target system by the user. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From realnc at gmail.com Sun Oct 1 16:09:18 2017 From: realnc at gmail.com (Nikos Chantziaras) Date: Sun, 1 Oct 2017 17:09:18 +0300 Subject: [Interest] What's the configure switch to have xcb working when deploying Qt apps? In-Reply-To: <2076915.DhjjU5ymbj@tjmaciei-mobl1> References: <2076915.DhjjU5ymbj@tjmaciei-mobl1> Message-ID: On 01/10/17 12:02, Thiago Macieira wrote: > On Saturday, 30 September 2017 13:55:55 PDT Nikos Chantziaras wrote: >> Available platform plugins are eglfs, minimal, minimalegl, >> offscreen, wayland-egl, wayland, xcb. > > The plugin is listed, but couldn't be loaded. Run ldd on the plugin and you'll > see what libraries are missing. They need to be installed in the target system > by the user. No, that wasn't it. I mean it was (technically), since ldd showed it depends on the xinerama library which was missing, but on the other hand in wasn't, since on the *build* system, ldd does not show a dep on xinerama. That dep only shows up on the target system. Which is weird. Anyway, I found the magic build flags for the official builds: https://github.com/qtproject/qtsdk/blob/v5.6.3-packaging/packaging-tools/bld_config/configure_linux_opensource Building with those cured the problem. From thiago.macieira at intel.com Sun Oct 1 19:04:41 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Sun, 01 Oct 2017 10:04:41 -0700 Subject: [Interest] What's the configure switch to have xcb working when deploying Qt apps? In-Reply-To: References: <2076915.DhjjU5ymbj@tjmaciei-mobl1> Message-ID: <1793925.2RoV9LfOyM@tjmaciei-mobl1> On Sunday, 1 October 2017 07:09:18 PDT Nikos Chantziaras wrote: > > The plugin is listed, but couldn't be loaded. Run ldd on the plugin and > > you'll see what libraries are missing. They need to be installed in the > > target system by the user. > > No, that wasn't it. I mean it was (technically), since ldd showed it > depends on the xinerama library which was missing, but on the other hand > in wasn't, since on the *build* system, ldd does not show a dep on > xinerama. That dep only shows up on the target system. Which is weird. You've done something wrong. The DT_NEEDED ELF header is added during the build. So the dependency was there on the buildsystem too. The other option is that it's a missing indirect dependency, in which case the problem existed before your application was deployed to that system. > https://github.com/qtproject/qtsdk/blob/v5.6.3-packaging/packaging-tools/bld > _config/configure_linux_opensource > > Building with those cured the problem. The trick being -qt-xcb, which uses a bundled version of XCB instead of the one from the system. Note all those -qt-libname flags. You're bundling all of them. That means you're accepting responsibility for monitoring them for security issues and updating your application if any issue is found. The first three are notorious for needing that. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From redknight106 at googlemail.com Mon Oct 2 11:27:00 2017 From: redknight106 at googlemail.com (Ben W) Date: Mon, 2 Oct 2017 10:27:00 +0100 Subject: [Interest] Clarification or Update required on Qt Blog to install QT on Tinkerboard. Message-ID: Hi, I like many others are trying build qt for asus tinker board according to this qt blog post: https://blog.qt.io/blog/2017/05/03/qt-git-tinkerboard-wayland/ I have spent quite some time going over this with no results. As the guide cross-references another guide (https://wiki.qt.io/RaspberryPi2EGLFS) it could become easy to make a mistake. To help I have included a short guide of what I've done. But this will need to be verified. The original blog that was created a short time ago also has some hyperlink issues around downloading the toolchain and there are some command issues when using: rsync -e ssh avz instead of rsync -avz. I believe there will also need to be some clarification on what system the blog was performed on (i.e Ubuntu, Debian) and also if the dev- branch of a qtbase is still required. Also, I think the additional instruction is necessary on setting up the Qt environment as there are linking issues with the qmake. please reference https://forum.qt.io/topic/83776/can-t-build-qt-for-tinkerboard Please see the attached for the draft user guide. Thank you -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- Loading QT on to Asus Tinker http://blog.qt.io/blog/2017/05/03/qt-git-tinkerboard-wayland/#comments https://wiki.qt.io/RaspberryPi2EGLFS Download latest Cross-compiler for x64 https://releases.linaro.org/components/toolchain/binaries/6.3-2017.02/arm-linux-gnueabihf/ Extract and rename to 'toolchain' and place into /tinker folder Download latest “wayland” variant from the Firefly RK3288 section https://developer.arm.com/products/software/mali-drivers/user-space [on Tinker] copy EGL/GLES/GBM/wayland-egl libraries to /usr/lib/arm-linux-gnueabihf. 1)[on Tinker] Install a bunch of development files (for simplicity we use build-dep, not everything is really needed, but it is easier this way). A- Disable auto-starting X Command = sudo systemctl set-default multi-user.target or systemctl set-default graphical.target (to restore GUI) 1- Edit sources list in /etc/apt/sources.list with use of your favorite editor (nano / vi) and uncomment the 'deb-src' line: Command = sudo nano /etc/apt/sources.list 2- Update your system and install required libraries: Command = sudo apt-get update Command = sudo apt-get build-dep qt4-x11 libqt5gui5 wayland weston 3- Prepare our target directory Command = sudo mkdir /usr/local/qt5 Command = sudo chown linaro:linaro /usr/local/qt5 4- Give Root Password Command = sudo passwd root Command = Password Command = Password 2)[on Host] Create a sysroot on the host: Command = rsync -avz linaro at 192.168.0.48:/lib ~/tinker/sysroot Command = rsync -avz linaro at 192.168.0.48:/usr/include ~/tinker/sysroot/usr Command = rsync -avz linaro at 192.168.0.48:/usr/lib ~/tinker/sysroot/usr 3)[on Host] Make all symlinks relative: Command = cd ~/tinker Command = wget https://raw.githubusercontent.com/riscv/riscv-poky/master/scripts/sysroot-relativelinks.py Command = chmod +x sysroot-relativelinks.py Command = ./sysroot-relativelinks.py sysroot 4) [on Host] Configure with -device linux-tinkerboard-g++: Command = git clone git://code.qt.io/qt/qtbase.git -b dev //or Command = git clone git://code.qt.io/qt/qtbase.git -b 5.10 Command = cd qtbase Command = ./configure -release -opengl es2 -nomake examples -nomake tests -opensource -confirm-license -v \ -device tinkerboard -device-option CROSS_COMPILE=~/tinker/toolchain/bin/arm-linux-gnueabihf- \ -sysroot ~/tinker/sysroot -prefix /usr/local/qt5 -extprefix ~/tinker/qt5 -hostprefix ~/tinker/qt5-host Command = make Command = make install 5)[on Host] rsyn to tinker return to /tinker Command = rsync -avz qt5 linaro at 192.168.0.48:/usr/local 6)[on Host] Set up QT device and Kit. From Stephan.Ebeling at hs-anhalt.de Mon Oct 2 14:23:21 2017 From: Stephan.Ebeling at hs-anhalt.de (Stephan.Ebeling at hs-anhalt.de) Date: Mon, 2 Oct 2017 12:23:21 +0000 Subject: [Interest] QDataStream not increasing position of QByteArray In-Reply-To: <1506928617290.73942@hs-anhalt.de> References: <1506928617290.73942@hs-anhalt.de> Message-ID: <1506947000448.9378@hs-anhalt.de> Dear Qt-list-members, i got the following problem with Qt and i hope that you can help me: When I write raw network bytes to a QDataStream object repeatedly, the QDataStream never increases the write position of the underlying QByteArray. Here's the code: QByteArray recvBuf; int bytePosition = 0; void init( ){ recvBuf = QByteArray( 240 * 10, Qt::Uninitiliazed ); } void receiveAppend( ){ QByteArray buffer( 240, Qt::Uninitialized ); QDataStream datastream( recvBuf, QIODevice::WriteOnly ); datastream.setByteOrder( QDataStream::LittleEndian ); if( udpSocket->readDataGram( buffer.data(), buffer.size(), &ip, &port ){ datastream.device().seek( bytePosition ); datastream.writeRawData( buffer.data(), buffer.size() ); bytePosition += 240; } } Why is this happening? The code works fine on Linux Mint 18 64Bit. But it's not working on Windows 10 64Bit. I'm using Qt Creator 4.3.1 with Qt 5.9.1. I appreciate your help. Best regards Stephan Ebeling -------------- next part -------------- An HTML attachment was scrubbed... URL: From fromqt at tungware.se Mon Oct 2 15:07:00 2017 From: fromqt at tungware.se (Henry Skoglund) Date: Mon, 2 Oct 2017 15:07:00 +0200 Subject: [Interest] QDataStream not increasing position of QByteArray In-Reply-To: <1506947000448.9378@hs-anhalt.de> References: <1506928617290.73942@hs-anhalt.de> <1506947000448.9378@hs-anhalt.de> Message-ID: On 2017-10-02 14:23, Stephan.Ebeling at hs-anhalt.de wrote: > > Dear Qt-list-members, > > > i got the following problem with Qt and i hope that you can help me: > > > When I write raw network bytes to a QDataStream object repeatedly, the > QDataStream never increases the write position of the underlying QByteArray. > > Here's the code: > > |QByteArray recvBuf; int bytePosition = 0; void init( ){ recvBuf = > QByteArray( 240 * 10, Qt::Uninitiliazed ); } void receiveAppend( ){ > QByteArray buffer( 240, Qt::Uninitialized ); QDataStream datastream( > recvBuf, QIODevice::WriteOnly ); datastream.setByteOrder( > QDataStream::LittleEndian ); if( udpSocket->readDataGram( buffer.data(), > buffer.size(), &ip, &port ){ datastream.device().seek( bytePosition ); > datastream.writeRawData( buffer.data(), buffer.size() ); bytePosition += > 240; } } | > > Why is this happening? > > The code works fine on Linux Mint 18 64Bit. But it's not working on > Windows 10 64Bit. I'm using Qt Creator 4.3.1 with Qt 5.9.1. > > Maybe a stupid question, but you're sure you're receiving the same 240 network bytes in Win10 as you do in Mint? If you do a trace printout of the buffer.size() in receiveAppend(), is it the same in both systems? Maybe Win10's firewall is messing the program... Rgrds Henry From thiago.macieira at intel.com Mon Oct 2 18:02:12 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Mon, 2 Oct 2017 09:02:12 -0700 Subject: [Interest] QDataStream not increasing position of QByteArray In-Reply-To: <1506947000448.9378@hs-anhalt.de> References: <1506928617290.73942@hs-anhalt.de> <1506947000448.9378@hs-anhalt.de> Message-ID: <5544890.5UesuYim58@tjmaciei-mobl1> On Monday, 2 October 2017 05:23:21 PDT Stephan.Ebeling at hs-anhalt.de wrote: > Dear Qt-list-members, > > > > i got the following problem with Qt and i hope that you can help me: > > > When I write raw network bytes to a QDataStream object repeatedly, the > QDataStream never increases the write position of the underlying > QByteArray. What write position of a QByteArray? The write position belongs to the QDataStream, not the array. > QByteArray recvBuf; > int bytePosition = 0; > > void init( ){ > recvBuf = QByteArray( 240 * 10, Qt::Uninitiliazed ); > } > > void receiveAppend( ){ > QByteArray buffer( 240, Qt::Uninitialized ); > QDataStream datastream( recvBuf, QIODevice::WriteOnly ); This line doesn't compile. I assume you meant QDataStream datastream( &recvBuf, QIODevice::WriteOnly ); > datastream.setByteOrder( QDataStream::LittleEndian ); > > if( udpSocket->readDataGram( buffer.data(), buffer.size(), &ip, &port ){ You should try the receiveDatagram() function. > datastream.device().seek( bytePosition ); datastream.device() here is a QBuffer that QDataStream created internally to wrap the QByteArray. > datastream.writeRawData( buffer.data(), buffer.size() ); > bytePosition += 240; > } > } > > > Why is this happening? Why is what happening? What is the issue? Describe what's happening and what you expected to happen. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From nunosantos at imaginando.pt Mon Oct 2 19:06:10 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Mon, 2 Oct 2017 18:06:10 +0100 Subject: [Interest] Is anyone here doing Qt mobile development relying on payment subscriptions? Message-ID: <8F4E4DE4-44D0-4A42-8577-7A5EEAA378E9@imaginando.pt> Hi, I’m using Qt Purchasing to handle mobile in-app purchases. Qt Purchasing doesn’t seem to support subscriptions. Is anyone here with an app that supports subscriptions? How are you handling it? Regards, Nuno From coroberti at gmail.com Mon Oct 2 19:28:48 2017 From: coroberti at gmail.com (coroberti .) Date: Mon, 2 Oct 2017 20:28:48 +0300 Subject: [Interest] Qt interfacing to Android native UI ? In-Reply-To: References: <288A2717-ACCC-4326-B0F0-4CB9F08C84FE@subsite.com> <9ED0EE58-38C8-468D-9955-7D9C16FAB5F0@subsite.com> <9eee9691-acce-c7c7-0132-af304b4799ff@ekkes-corner.org> <4B2D1335-5772-4DEF-A071-0DD58DC12186@subsite.com> Message-ID: Dear Edward and others, It seems that my practical experience with making core business logic in C++-STL without Qt works well with: a. Qt-based GUI for Linux, Mac and Windows - it works excellent; b. Native GUI for iOS and Android. Unfortunately, Qt at iOS and Android has too many issues to overcome, just a few to mention: 1. Lack of customizable Edit Menu (Platform menu) at Qt for iOS - at least for widgets; 2. Broken selection handles at Qt for Android - total mess for widgets and many issues for QML Other reasons to mention: 3. Lack of features where I found myself always with JNI+Java or developing native components in Obj-C where native Java and Swift are much easier and less time consuming. Optimistic people would say that the matters are improving... Maybe. jm4c Kind regards, Robert On Thu, May 5, 2016 at 10:58 PM, Edward Sutton wrote: > I have not used the project. > > My guess one motivating goal would be to reuse the many react-native modules > that support both Android and iOS ( or one OS or the other ). > > Another goal would be to access real native UI components and native API’s. > While QML looks native-like, for Android or iOS apps, native just feels > better to the user IMO. > > Microsoft is reportedly adding react native support for UWP and claim it > will support 270 million Windows 10 devices. > > https://blogs.windows.com/buildingapps/2016/04/13/react-native-on-the-universal-windows-platform/ > > > -Ed > > On May 5, 2016, at 9:45 AM, Jason H wrote: > > What is the motivation for such a project? > > Sent: Thursday, May 05, 2016 at 10:31 AM > From: "Edward Sutton" > To: "Robert Iakobashvili" > Cc: "interest at qt-project.org" > Subject: Re: [Interest] Qt interfacing to Android native UI ? > An interesting project: > > > https://github.com/grassator/react-qml > > > react-qml is a bridge library that allows to use React.js with QML. > > Example > > Usage of ReactQml is pretty straightforward — the only difference from web > version is that you need to pass id of the qml item to React.render instead > of DOM node. For example: > > import QtQuick 2.4 > import QtQuick.Controls 1.3 > import "js/ReactQml.js" as React > > ApplicationWindow { > id: root > title: qsTr("React QML") > width: 300 > height: 300 > visible: true > > function reactRender(x, y) { > var props = { > x: 100, > y: 100, > width: 100, > height: 100, > color: '#000' > }; > var childProps = { > x: 25, > y: 25, > width: 50, > height: 50, > color: '#fff' > }; > var child = React.createElement(React.Rectangle, childProps); > React.render(React.createElement(React.Rectangle, props, child), > root); > } > > Component.onCompleted: { > reactRender(); > } > } > > > > -Ed > > > On May 2, 2016, at 1:50 PM, Robert Iakobashvili wrote: > > Dear Ekke, > Thank you for sharing your experience with > qt.labs.controls Qt Quick Controls2 in 5.7. > > Sure, we'll be reading you blog. > > Kind regards, > Robert > > > On Mon, May 2, 2016 at 8:38 PM, ekke wrote: > > I really like the new qt.labs.controls from Qt 5.6 (will become Qt Quick > Controls2 in 5.7) > using these lightweight controls together with Material Style (Android) or > Universal Style (Windows) with light or dark themes and all the new Controls > (like Drawer) for mobile-app-navigation and also HighDPI Support you can now > first time ever develop mobile apps with nearly native feeling. (iOS style > will come later when the new controls are stable) > > I prefer to write UI in QML compared with React Native's mix of Markup and > JS or using Xamarin where you have one language but different code for > x-platform. > > Before leaving QT for mobile apps - give it a try. > BTW: I'm writing a blog series about my experiences > https://urldefense.proofpoint.com/v2/url?u=http-3A__j.mp_qt-2Dx&d=CwIGaQ&c=G4BpsyPyB19LB50bn2swXw&r=cAG2c-SQES5P2qb8IW-uwnBOCX_f2qYJIlzenFnoHUc&m=5X_i0s6I6cbSYRP1ZGUPRMZL0OkDR9nmhuR8RAiIems&s=13ftz5U9_dHo8BjIh3RKmuX9DkqPXcAx9ctnx5a0YHA&e= > and > I'll develop - as proof of concept - Conference APPs for QtCon and Qt World > Summit. > > ekke > > Am 02.05.16 um 20:17 schrieb Robert Iakobashvili: > > Dear Edward, > React Native - good catch. > > Thank you so much for sharing this idea > and your experience! > > Kind regards, > Robert > > > On Mon, May 2, 2016 at 8:08 PM, Edward Sutton > wrote: > > On May 1, 2016, at 4:27 AM, Robert Iakobashvili wrote: > > Dear Edward, > What are your conclusions and which direction you decided on > after your experiments? > > > I never made much progress. While QML looked more "native like” I never felt > comfortable using it. > > I am doing my new iOS and Android development using Facebook's react-native. > React Native calls native UI from Javascript. > > https://urldefense.proofpoint.com/v2/url?u=https-3A__facebook.github.io_react-2Dnative_&d=CwIGaQ&c=G4BpsyPyB19LB50bn2swXw&r=cAG2c-SQES5P2qb8IW-uwnBOCX_f2qYJIlzenFnoHUc&m=5X_i0s6I6cbSYRP1ZGUPRMZL0OkDR9nmhuR8RAiIems&s=e9hAWWmY2S0Mo76_ex-_PF0NFk6ccgclP50872TSMfs&e= > > > When it makes sense I select UI components that have counterparts in Android > and iOS in order to increase code re-use. I have seem claims of 85% code > re-use and from my experience I do not doubt these claims. > > So far, so good... > > -Ed > > > > Thanks, > Kind regards, > Robert > > > On Thu, Nov 5, 2015 at 2:40 PM, Edward Sutton > wrote: > > Hi Robert, > > The approach you outlined below was the one I was considering. Use of common > C++ business layer, widgets for desktops, iOS native UI, and Android native > UI. > > The Android native UI was my biggest concern. > > I am going to continue experimenting with QML for a few more days > > > Hi Ben, > > Thank you for sharing your Android UI interfacing code. I will take a look. > > Your iOS UI interfacing code was *very* helpful in understanding how to mix > C++ and Objective-C++ in the same *.mm file. Java seems much more > challenging to interface to native UI. However all I have done so far is > simple JNI calls into Java. > > Thank you both, > > -Ed > > > On Nov 5, 2015, at 1:51 AM, Ben Lau wrote: > > > Not really a solution for wrapping Android UI in Qt app. But I have already > developed an image picker with native UI and communication library between > Qt and Java/Android. May be it could used as example / core framework. > > Image Picker > https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_benlau_quickandroid_blob_DEV_QuickAndroid_ImagePicker.qml&d=CwIBaQ&c=G4BpsyPyB19LB50bn2swXw&r=cAG2c-SQES5P2qb8IW-uwnBOCX_f2qYJIlzenFnoHUc&m=nrrSNDcnq0DATI4qf2zrUTNMu_m6wsOws_Oz0VoTjAU&s=b9qfgeLoPCVjdDxzeFLLLuGl5EwnXG7Gv0sTjZwTjwU&e= > > System Dispatcher - Invoke Java/Android function and vice visa without using > JNI. Data type conversion is handled automatically. > > https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_benlau_quickandroid_blob_DEV_qasystemdispatcher.h&d=CwIBaQ&c=G4BpsyPyB19LB50bn2swXw&r=cAG2c-SQES5P2qb8IW-uwnBOCX_f2qYJIlzenFnoHUc&m=nrrSNDcnq0DATI4qf2zrUTNMu_m6wsOws_Oz0VoTjAU&s=m04hl55EIBiEA7ELiqTGCj-dyEOx30iqkz2skvOT-rM&e= > > > > -Ed > > > On Nov 5, 2015, at 1:36 AM, Robert Iakobashvili wrote: > > Dear Ed, > It seems that I have something native for iOS, but not for Android. > > I was thinking now about another path to take: > > 1. Common layer - with business app logic; > > 2. Presentation layer with the below options: > > 2.1 Qt Desktop layer to cover Win, Mac and Linux; > 2.2 iOS-Native; > 2.3 Android-Native. > > Please, update us on your success of co-existence between > Qt-Widgets and QML and whether after adding QML it is still > sustains tough memory environment on iOS and low-memory > Android devices. > > Thank you in advance. > > Regards, > Robert > > > On Tue, Nov 3, 2015 at 5:12 PM, Edward Sutton > wrote: > > I know I can use native iOS UI by mixing Objective-C++ and C++ in the same > *.mm file. > > I have done a little Android JNI. Are there any examples for interfacing to > Android native UI elements? > > I need to create a UI picker for manually entering GPS latitude and > longitude in degrees, or degrees, minutes, seconds for a widgets app. I > expect it will be hard to make a touch usable widget UI picker. Developing > a native interface may take similar amount of time but result will be much > superior. > > Thank you for your advice, > > -Ed > This email and any files transmitted with it from The Charles Machine Works, > Inc. are confidential and intended solely for the use of the individual or > entity to which they are addressed. If you have received this email in error > please notify the sender. Our company accepts no liability for the contents > of this email, or for the consequences of any actions taken on the basis of > the information provided, unless that information is subsequently confirmed > in writing. Please note that any views or opinions presented in this email > are solely those of the author and do not necessarily represent those of the > company. Finally, the recipient should check this email and any attachments > for the presence of viruses. The company accepts no liability for any damage > caused by any virus transmitted by this email. > _______________________________________________ > Interest mailing list > Interest at qt-project.org > https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.qt-2Dproject.org_mailman_listinfo_interest&d=CwIBaQ&c=G4BpsyPyB19LB50bn2swXw&r=cAG2c-SQES5P2qb8IW-uwnBOCX_f2qYJIlzenFnoHUc&m=nrrSNDcnq0DATI4qf2zrUTNMu_m6wsOws_Oz0VoTjAU&s=aIs7iOEK4KMToKD_jb-tP9y5aOCs9wfSJ8tXHkjMU1U&e= > > > This email and any files transmitted with it from The Charles Machine Works, > Inc. are confidential and intended solely for the use of the individual or > entity to which they are addressed. If you have received this email in error > please notify the sender. Our company accepts no liability for the contents > of this email, or for the consequences of any actions taken on the basis of > the information provided, unless that information is subsequently confirmed > in writing. Please note that any views or opinions presented in this email > are solely those of the author and do not necessarily represent those of the > company. Finally, the recipient should check this email and any attachments > for the presence of viruses. The company accepts no liability for any damage > caused by any virus transmitted by this email. > > > This email and any files transmitted with it from The Charles Machine Works, > Inc. are confidential and intended solely for the use of the individual or > entity to which they are addressed. If you have received this email in error > please notify the sender. Our company accepts no liability for the contents > of this email, or for the consequences of any actions taken on the basis of > the information provided, unless that information is subsequently confirmed > in writing. Please note that any views or opinions presented in this email > are solely those of the author and do not necessarily represent those of the > company. Finally, the recipient should check this email and any attachments > for the presence of viruses. The company accepts no liability for any damage > caused by any virus transmitted by this email. > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.qt-2Dproject.org_mailman_listinfo_interest&d=CwIGaQ&c=G4BpsyPyB19LB50bn2swXw&r=cAG2c-SQES5P2qb8IW-uwnBOCX_f2qYJIlzenFnoHUc&m=5X_i0s6I6cbSYRP1ZGUPRMZL0OkDR9nmhuR8RAiIems&s=uqkwZ-luxwKEVRGiNcxeHyJJsLYoSoDf-8BpMtqNlGI&e= > > > > -- > > ekke (ekkehard gentz) > > independent software architect > international development native mobile business apps > BlackBerry 10 | Qt Mobile (Android, iOS) > workshops - trainings - bootcamps > > BlackBerry Elite Developer > BlackBerry Platinum Enterprise Partner > > max-josefs-platz 30, D-83022 rosenheim, germany > mailto:ekke at ekkes-corner.org > blog: > https://urldefense.proofpoint.com/v2/url?u=http-3A__ekkes-2Dcorner.org&d=CwIGaQ&c=G4BpsyPyB19LB50bn2swXw&r=cAG2c-SQES5P2qb8IW-uwnBOCX_f2qYJIlzenFnoHUc&m=5X_i0s6I6cbSYRP1ZGUPRMZL0OkDR9nmhuR8RAiIems&s=ROE9tC5zKiyvW2K7t2UO997CRQQSluLCIoM811REO6I&e= > apps and more: > https://urldefense.proofpoint.com/v2/url?u=http-3A__appbus.org&d=CwIGaQ&c=G4BpsyPyB19LB50bn2swXw&r=cAG2c-SQES5P2qb8IW-uwnBOCX_f2qYJIlzenFnoHUc&m=5X_i0s6I6cbSYRP1ZGUPRMZL0OkDR9nmhuR8RAiIems&s=C74B2iQ6kB6KtX4Ox9CndK1CWN7IgAK6EBI6gXq8-ro&e= > > twitter: @ekkescorner > skype: ekkes-corner > LinkedIn: > https://urldefense.proofpoint.com/v2/url?u=http-3A__linkedin.com_in_ekkehard_&d=CwIGaQ&c=G4BpsyPyB19LB50bn2swXw&r=cAG2c-SQES5P2qb8IW-uwnBOCX_f2qYJIlzenFnoHUc&m=5X_i0s6I6cbSYRP1ZGUPRMZL0OkDR9nmhuR8RAiIems&s=vAySIiYQSFceQQiKLG1CpgRKNiRU07W2tV1hcwMAy5I&e= > Steuer-Nr: 156/220/30931 FA Rosenheim, UST-ID: DE189929490 > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.qt-2Dproject.org_mailman_listinfo_interest&d=CwIGaQ&c=G4BpsyPyB19LB50bn2swXw&r=cAG2c-SQES5P2qb8IW-uwnBOCX_f2qYJIlzenFnoHUc&m=5X_i0s6I6cbSYRP1ZGUPRMZL0OkDR9nmhuR8RAiIems&s=uqkwZ-luxwKEVRGiNcxeHyJJsLYoSoDf-8BpMtqNlGI&e= > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.qt-2Dproject.org_mailman_listinfo_interest&d=CwIGaQ&c=G4BpsyPyB19LB50bn2swXw&r=cAG2c-SQES5P2qb8IW-uwnBOCX_f2qYJIlzenFnoHUc&m=5X_i0s6I6cbSYRP1ZGUPRMZL0OkDR9nmhuR8RAiIems&s=uqkwZ-luxwKEVRGiNcxeHyJJsLYoSoDf-8BpMtqNlGI&e= > > This email and any files transmitted with it from The Charles Machine Works, > Inc. are confidential and intended solely for the use of the individual or > entity to which they are addressed. If you have received this email in error > please notify the sender. Our company accepts no liability for the contents > of this email, or for the consequences of any actions taken on the basis of > the information provided, unless that information is subsequently confirmed > in writing. Please note that any views or opinions presented in this email > are solely those of the author and do not necessarily represent those of the > company. Finally, the recipient should check this email and any attachments > for the presence of viruses. The company accepts no liability for any damage > caused by any virus transmitted by this email. > _______________________________________________ Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > > This email and any files transmitted with it from The Charles Machine Works, > Inc. are confidential and intended solely for the use of the individual or > entity to which they are addressed. If you have received this email in error > please notify the sender. Our company accepts no liability for the contents > of this email, or for the consequences of any actions taken on the basis of > the information provided, unless that information is subsequently confirmed > in writing. Please note that any views or opinions presented in this email > are solely those of the author and do not necessarily represent those of the > company. Finally, the recipient should check this email and any attachments > for the presence of viruses. The company accepts no liability for any damage > caused by any virus transmitted by this email. From r.oehlinger at avibit.com Tue Oct 3 16:28:15 2017 From: r.oehlinger at avibit.com (=?UTF-8?Q?Richard_=c3=96hlinger?=) Date: Tue, 3 Oct 2017 16:28:15 +0200 Subject: [Interest] QUdpSocket on Windows 10: QNetworkDatagram::destinationAddress/Port not set Message-ID: Hi, I'm using QUdpSocket on Windows 10 to receive Multicast messages. Since Windows does not allow for binding directly to the multicast address I've to bind to the AnyIP and filter for destination address. Therefore I use QUdpSocket::receiveDatagram to get a QNetworkDatagram. But its destinationAddress is not valid and destinationPort is -1. The exact same code works on Linux. I'm using Qt 5.9.0 Is there a limitation on Windows systems? The Documentation would list it as supported [1]. Regards, Richard [1] https://doc.qt.io/qt-5/qnetworkdatagram.html#feature-support From thiago.macieira at intel.com Tue Oct 3 16:52:11 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Tue, 3 Oct 2017 07:52:11 -0700 Subject: [Interest] QUdpSocket on Windows 10: QNetworkDatagram::destinationAddress/Port not set In-Reply-To: References: Message-ID: <2338857.TzGAqiETuj@tjmaciei-mobl1> On terça-feira, 3 de outubro de 2017 07:28:15 PDT Richard Öhlinger wrote: > Hi, > > I'm using QUdpSocket on Windows 10 to receive Multicast messages. Since > Windows does not allow for binding directly to the multicast address > I've to bind to the AnyIP and filter for destination address. > > Therefore I use QUdpSocket::receiveDatagram to get a QNetworkDatagram. > But its destinationAddress is not valid and destinationPort is -1. > > The exact same code works on Linux. I'm using Qt 5.9.0 > > Is there a limitation on Windows systems? The Documentation would list > it as supported [1]. Maybe. All unit tests for tst_QUdpSocket are passing on my Windows 10, indicating normal multicast is working. Anyway, binding to the multicast address is wrong. You shouldn't ever do that. You just join the multicast group that you wanted to. But that actually might be the issue: because of the multicast, you need to specifically choose the address family at bind time: if your multicast address is IPv6, bind to AnyIPv6; if it's IPv4, bind to AnyIPv4. Linux is capable of receiving IPv4 multicast on an IPv6 socket, but that feature is not usually present in other OSes. If that doesn't fix the issue, can you make a simple example for what fails for you? I need to test what's wrong. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From helmut.muelner at gmail.com Tue Oct 3 17:20:19 2017 From: helmut.muelner at gmail.com (=?iso-8859-1?Q?Helmut_M=FClner?=) Date: Tue, 3 Oct 2017 17:20:19 +0200 Subject: [Interest] Strange visibility problem after updating entities in Qt3D Message-ID: <012e01d33c5b$2004eac0$600ec040$@gmail.com> Background: ========== I have a QML application with big parts written in C++ (mostly models) that are exposed to QML with setContextProperty. I also have a 3DScene in QML: Scene3D { id: scene3d width: 4 focus: true aspects: ["input", "logic"] cameraAspectRatioMode: Scene3D.AutomaticAspectRatio enabled: visible visible: false entity: controller.railViewer } Step 1: ===== railViewer is a pointer to a class derived from Qt3DCore::QEntity. It displays a part of a rail with special markers for “defects”. There is a “current defect” that is highlighted. My entity has the following childs (I gave “my” entities an objectName): Qt3DRender::QRenderSettings Qt3DExtras::QOrbitCameraController Qt3DRender::QObjectPicker Qt3DInput::QInputSettings Qt3DCore::QEntity RailPart-0 Qt3DCore::QEntity RailPart-1 Qt3DCore::QEntity RailPart-2 Qt3DCore::QEntity RailPart-3 Qt3DCore::QEntity RailPart-4 Qt3DCore::QEntity RailPart-5 Qt3DCore::QEntity RailPart-6 Qt3DCore::QEntity RailPart-7 DefectBoxEntity RailDefect-1501 set alpha to 0.95 for 0 DefectBoxEntity RailDefect-1502 set alpha to 0.4 for 1 (see rail1.jpg). The 3D view works like a charm. Step 2: ===== Now I want to show another rail (it may have fewer or more parts) and another set of defects. The view from the side looks good (see rail2.jpg). But if I tilt the view, the visibility of the first two boxes is wrong. My childs now are: Qt3DRender::QRenderSettings Qt3DExtras::QOrbitCameraController Qt3DRender::QObjectPicker Qt3DInput::QInputSettings Qt3DCore::QEntity RailPart-0 Qt3DCore::QEntity RailPart-1 Qt3DCore::QEntity RailPart-2 Qt3DCore::QEntity RailPart-3 Qt3DCore::QEntity RailPart-4 Qt3DCore::QEntity RailPart-5 Qt3DCore::QEntity RailPart-6 Qt3DCore::QEntity RailPart-7 DefectBoxEntity RailDefect-501 set alpha to 0.95 for 0 DefectBoxEntity RailDefect-502 set alpha to 0.4 for 1 DefectBoxEntity RailDefect-503 set alpha to 0.4 for 2 DefectBoxEntity RailDefect-504 set alpha to 0.4 for 3 DefectBoxEntity RailDefect-505 set alpha to 0.4 for 4 DefectBoxEntity RailDefect-506 set alpha to 0.4 for 5 DefectBoxEntity RailDefect-507 set alpha to 0.4 for 6 DefectBoxEntity RailDefect-508 set alpha to 0.4 for 7 To update the scene I remove all Rail.* entities and insert the new ones. These are the relevant parts of this code: void deleteChildrenRecursively(const Qt3DCore::QNodeVector& vector) { Qt3DCore::QNode* nullParent = nullptr; for (auto* node : vector) { auto* entity = dynamic_cast(node); if (entity) { auto comps = entity->components(); entity->setParent(nullParent); for (auto* component : comps) { component->setParent(nullParent); entity->removeComponent(component); delete component; } } deleteChildrenRecursively(node->childNodes()); delete node; } } void RailEntityPrivate::load(double frameHeight, const std::vector>& finalPointVecs) { Q_Q(RailEntity); Qt3DCore::QNode* nullParent = nullptr; qDebug() << "RailEntityPrivate::load:"; auto childs = q->childNodes(); for (auto& node : childs) { qDebug() << node->metaObject()->className() << " " << qPrintable(node->objectName()); } qDebug() << ""; Qt3DCore::QNodeVector railNodes; length = frameHeight * 3.0; railNodes.reserve(childs.size()); for (auto* node : childs) { if (node->objectName().startsWith(QLatin1String("Rail"))) { railNodes.push_back(node); } } for (auto* node : railNodes) { Qt3DCore::QEntity* entity = (Qt3DCore::QEntity*)node; entity->setParent(nullParent); auto ec = node->childNodes(); deleteChildrenRecursively(ec); delete entity; } currentDefectIndex = -1; computeExtend(finalPointVecs); size_t startList = 0u; size_t endList = finalPointVecs.size(); for (auto i = startList; i < endList; ++i) { auto entity = new Qt3DCore::QEntity(q); entity->setObjectName(QStringLiteral("RailPart-") + QString::number(i)); auto flength = static_cast(length); auto mesh = new RailGeometryRenderer(finalPointVecs[i].second, flength); auto material = new Qt3DExtras::QNormalDiffuseMapMaterial(); material->setShininess(10.0f); material->setAmbient(QColor(76, 84, 76)); material->setSpecular(QColor(20, 20, 20)); auto seed = static_cast(currentFrameNr * 100u + i); auto heightMap = RailEntityPrivate::createRandomHeightMap(1024, 512, seed); auto* diffuseImage = new MyTextureImage(heightMap); material->diffuse()->addTextureImage(diffuseImage); auto normalMap = RailEntityPrivate::makeNormalMapFromHeightMap(heightMap); auto* normalImage = new MyTextureImage(normalMap); material->normal()->addTextureImage(normalImage); entity->addComponent(mesh); entity->addComponent(material); } centerCamera(); } void RailEntity::updateDefects(const Defects& defects) { Q_D(RailEntity); size_t defectCount = defects.size(); size_t index = 0; auto childs = childNodes(); Qt3DCore::QNode* nullParent = nullptr; qDebug() << "RailEntity::updateDefects:"; for (auto& node : childs) { qDebug() << node->metaObject()->className() << " " << qPrintable(node->objectName()); } qDebug() << ""; Qt3DCore::QNodeVector railDefectNodes; railDefectNodes.reserve(childs.size()); for (auto* node : childs) { if (node->objectName().startsWith(QLatin1String("RailDefect-"))) { railDefectNodes.push_back(node); } } for (auto* node : railDefectNodes) { Qt3DCore::QEntity* entity = (Qt3DCore::QEntity*)node; entity->setParent(nullParent); auto ec = node->childNodes(); deleteChildrenRecursively(ec); delete entity; } for (const auto& defect : defects) { QString name = QLatin1String("RailDefect-") + QString::number(defect.id); d->insertDefect(name, defect, this); } } void RailEntityPrivate::insertDefect(QString name, const Defect& defect, Qt3DCore::QEntity* parent) { QString classColor; if (defectClassModel) { classColor = defectClassModel->getColor(static_cast(defect.classId)); } QColor col = classColor.isEmpty() ? QColor(128, 40, 0) : QColor(classColor); auto entity = new DefectBoxEntity(defect, col, startMM, parent); entity->setObjectName(name); } DefectBoxEntity has a transform, a base QPhongAlphaMaterial and 12 QCuboidMeshes with associated transforms and using the base material. I suspect that either I do something wrong when I delete the “old” entities or there is a general synchronization problem with the rendering backend. Anybody with ideas or suggestions? Best regards, Helmut -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: rail1.jpg Type: image/jpeg Size: 64209 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: rail2.jpg Type: image/jpeg Size: 59309 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: rail3.jpg Type: image/jpeg Size: 77744 bytes Desc: not available URL: From tony at rightsoft.com.au Wed Oct 4 03:44:54 2017 From: tony at rightsoft.com.au (Tony Rietwyk) Date: Wed, 4 Oct 2017 12:44:54 +1100 Subject: [Interest] Strange visibility problem after updating entities in Qt3D In-Reply-To: <012e01d33c5b$2004eac0$600ec040$@gmail.com> References: <012e01d33c5b$2004eac0$600ec040$@gmail.com> Message-ID: Hi Helmut, I think your deleteChildrenRecursively is incorrect - you need to process the vector in reverse if you delete the current node. Especially as you have declared the vector parameter 'const &', the compiler probably can't work out that deleting the node will update the vector.  So deleting some children will be skipped. Regards, Tony On 4/10/2017 2:20 AM, Helmut Mülner wrote: > > Background: > > ========== > >    I have a QML application with big parts written in C++ (mostly > models) that are exposed to QML with setContextProperty. > >   I also have a 3DScene in QML: > > Scene3D{ > > id:/scene3d/ > > width:4 > > focus:true > > aspects:["input","logic"] > > cameraAspectRatioMode:Scene3D.AutomaticAspectRatio > > enabled:/visible/ > > visible:false > > entity:controller.railViewer > > } > > Step 1: > > ===== > > railViewer is a pointer to a class derived from Qt3DCore::QEntity. > > It displays a part of a rail with special markers for “defects”. > > There is a “current defect” that is highlighted. > > My entity has the following childs (I gave “my” entities an objectName): > > Qt3DRender::QRenderSettings > > Qt3DExtras::QOrbitCameraController > > Qt3DRender::QObjectPicker > > Qt3DInput::QInputSettings > > Qt3DCore::QEntity   RailPart-0 > > Qt3DCore::QEntity   RailPart-1 > > Qt3DCore::QEntity   RailPart-2 > > Qt3DCore::QEntity   RailPart-3 > > Qt3DCore::QEntity   RailPart-4 > > Qt3DCore::QEntity   RailPart-5 > > Qt3DCore::QEntity   RailPart-6 > > Qt3DCore::QEntity   RailPart-7 > > DefectBoxEntity   RailDefect-1501 > > set alpha to  0.95 for  0 > > DefectBoxEntity   RailDefect-1502 > > set alpha to  0.4 for  1 > > (see rail1.jpg). > > The 3D view works like a charm. > > Step 2: > > ===== > > Now I want to show another rail (it may have fewer or more parts) and > another set of defects. > > The view from the side looks good (see rail2.jpg). > > But if I tilt the view, the visibility of the first two boxes is wrong. > > My childs now are: > > Qt3DRender::QRenderSettings > > Qt3DExtras::QOrbitCameraController > > Qt3DRender::QObjectPicker > > Qt3DInput::QInputSettings > > Qt3DCore::QEntity   RailPart-0 > > Qt3DCore::QEntity   RailPart-1 > > Qt3DCore::QEntity   RailPart-2 > > Qt3DCore::QEntity   RailPart-3 > > Qt3DCore::QEntity   RailPart-4 > > Qt3DCore::QEntity   RailPart-5 > > Qt3DCore::QEntity   RailPart-6 > > Qt3DCore::QEntity   RailPart-7 > > DefectBoxEntity   RailDefect-501 > > set alpha to  0.95 for  0 > > DefectBoxEntity   RailDefect-502 > > set alpha to  0.4 for  1 > > DefectBoxEntity   RailDefect-503 > > set alpha to  0.4 for  2 > > DefectBoxEntity   RailDefect-504 > > set alpha to  0.4 for  3 > > DefectBoxEntity   RailDefect-505 > > set alpha to  0.4 for  4 > > DefectBoxEntity   RailDefect-506 > > set alpha to  0.4 for  5 > > DefectBoxEntity   RailDefect-507 > > set alpha to  0.4 for  6 > > DefectBoxEntity RailDefect-508 > > set alpha to  0.4 for  7 > > To update the scene I remove all Rail.* entities and insert the new ones. > > These are the relevant parts of this code: > > voiddeleteChildrenRecursively(constQt3DCore::QNodeVector& vector) > > { > > Qt3DCore::QNode* nullParent= nullptr; > > for(auto* node: vector) { > > auto* entity= dynamic_cast(node); > > if(entity) { > > autocomps= entity->components(); > > entity->setParent(nullParent); > > for(auto* component: comps) { > > component->setParent(nullParent); > > entity->removeComponent(component); > > deletecomponent; > >             } > >         } > > deleteChildrenRecursively(node->childNodes()); > > deletenode; > >     } > > } > > voidRailEntityPrivate::load(doubleframeHeight, > conststd::/vector/>& finalPointVecs) > > { > > Q_Q(RailEntity); > > Qt3DCore::QNode* nullParent= nullptr; > > qDebug() <<"RailEntityPrivate::load:"; > > autochilds= q->childNodes(); > > for(auto& node: childs) { > > qDebug() <metaObject()->className() <<" > "<objectName()); > >     } > > qDebug() <<""; > > Qt3DCore::QNodeVectorrailNodes; > > length= frameHeight* 3.0; > > railNodes.reserve(childs.size()); > > for(auto* node: childs) { > > if(node->objectName().startsWith(QLatin1String("Rail"))) { > > railNodes.push_back(node); > >         } > >     } > > for(auto* node: railNodes) { > > Qt3DCore::QEntity* entity= (Qt3DCore::QEntity*)node; > > entity->setParent(nullParent); > > autoec= node->childNodes(); > > deleteChildrenRecursively(ec); > > deleteentity; > >     } > > currentDefectIndex= -1; > > computeExtend(finalPointVecs); > > /size_t/startList= 0u; > > /size_t/endList= finalPointVecs.size(); > > for(autoi= startList; i< endList; ++i) { > > autoentity= newQt3DCore::QEntity(q); > > entity->setObjectName(QStringLiteral("RailPart-") +QString::number(i)); > > autoflength= static_cast(length); > > automesh= newRailGeometryRenderer(finalPointVecs[i].second, flength); > > automaterial= newQt3DExtras::QNormalDiffuseMapMaterial(); > > material->setShininess(10.0f); > > material->setAmbient(QColor(76, 84, 76)); > > material->setSpecular(QColor(20, 20, 20)); > > autoseed= static_cast(currentFrameNr* 100u + i); > > autoheightMap= RailEntityPrivate::createRandomHeightMap(1024, 512, seed); > > auto* diffuseImage= newMyTextureImage(heightMap); > > material->diffuse()->addTextureImage(diffuseImage); > > autonormalMap= RailEntityPrivate::makeNormalMapFromHeightMap(heightMap); > > auto* normalImage= newMyTextureImage(normalMap); > > material->normal()->addTextureImage(normalImage); > > entity->addComponent(mesh); > > entity->addComponent(material); > >     } > > centerCamera(); > > } > > voidRailEntity::updateDefects(constDefects& defects) > > { > > Q_D(RailEntity); > > /size_t/defectCount= defects./size/(); > > /size_t/index= 0; > > autochilds= childNodes(); > > Qt3DCore::QNode* nullParent= nullptr; > > qDebug() <<"RailEntity::updateDefects:"; > > for(auto& node: childs) { > > qDebug() <metaObject()->className() <<" > "<objectName()); > >     } > > qDebug() <<""; > > Qt3DCore::QNodeVectorrailDefectNodes; > > railDefectNodes.reserve(childs.size()); > > for(auto* node: childs) { > > if(node->objectName().startsWith(QLatin1String("RailDefect-"))) { > > railDefectNodes.push_back(node); > >         } > >     } > > for(auto* node: railDefectNodes) { > > Qt3DCore::QEntity* entity= (Qt3DCore::QEntity*)node; > > entity->setParent(nullParent); > > autoec= node->childNodes(); > > deleteChildrenRecursively(ec); > > deleteentity; > >     } > > for(constauto& defect: defects) { > > QStringname= QLatin1String("RailDefect-") +QString::number(defect.id); > > d->insertDefect(name, defect, this); > > } > > } > > voidRailEntityPrivate::insertDefect(QStringname, constDefect& defect, > Qt3DCore::QEntity* parent) > > { > > QStringclassColor; > > if(defectClassModel) { > > classColor=defectClassModel->getColor(static_cast(defect.classId)); > >     } > > QColorcol= classColor.isEmpty() ? QColor(128, 40, 0) : QColor(classColor); > > autoentity= newDefectBoxEntity(defect, col, startMM, parent); > > entity->setObjectName(name); > > } > > DefectBoxEntity has a transform, a base QPhongAlphaMaterial and 12 > QCuboidMeshes with associated transforms and using the base material. > > I suspect that either I do something wrong when I delete the “old” > entities or there is a general synchronization problem with the > rendering backend. > > Anybody with ideas or suggestions? > > Best regards, > > Helmut > > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From paul.lemire at kdab.com Wed Oct 4 07:04:57 2017 From: paul.lemire at kdab.com (Paul Lemire) Date: Wed, 4 Oct 2017 07:04:57 +0200 Subject: [Interest] Strange visibility problem after updating entities in Qt3D In-Reply-To: <012e01d33c5b$2004eac0$600ec040$@gmail.com> References: <012e01d33c5b$2004eac0$600ec040$@gmail.com> Message-ID: Hi Helmut, I've added my replies inline below. Hopefully that might help. Paul On 10/03/2017 05:20 PM, Helmut Mülner wrote: > > Background: > > ========== > >    I have a QML application with big parts written in C++ (mostly > models) that are exposed to QML with setContextProperty. > >   > >   I also have a 3DScene in QML: > >   > > Scene3D{ > >     id:/scene3d/ > >     width:4 > >     focus:true > >     aspects:["input","logic"] > >     cameraAspectRatioMode:Scene3D.AutomaticAspectRatio > >     enabled:/visible/ > >     visible:false > >     entity:controller.railViewer > > } > >   > > Step 1: > > ===== > > railViewer is a pointer to a class derived from Qt3DCore::QEntity. > > It displays a part of a rail with special markers for “defects”. > > There is a “current defect” that is highlighted. > > My entity has the following childs (I gave “my” entities an objectName): > > Qt3DRender::QRenderSettings   > > Qt3DExtras::QOrbitCameraController   > > Qt3DRender::QObjectPicker   > > Qt3DInput::QInputSettings   > > Qt3DCore::QEntity   RailPart-0 > > Qt3DCore::QEntity   RailPart-1 > > Qt3DCore::QEntity   RailPart-2 > > Qt3DCore::QEntity   RailPart-3 > > Qt3DCore::QEntity   RailPart-4 > > Qt3DCore::QEntity   RailPart-5 > > Qt3DCore::QEntity   RailPart-6 > > Qt3DCore::QEntity   RailPart-7 > > DefectBoxEntity   RailDefect-1501 > > set alpha to  0.95 for  0 > > DefectBoxEntity   RailDefect-1502 > > set alpha to  0.4 for  1 > > (see rail1.jpg). > > The 3D view works like a charm. > >   > >   > > Step 2: > > ===== > >   > > Now I want to show another rail (it may have fewer or more parts) and > another set of defects. > > The view from the side looks good (see rail2.jpg). > > But if I tilt the view, the visibility of the first two boxes is wrong. > > My childs now are: > > Qt3DRender::QRenderSettings   > > Qt3DExtras::QOrbitCameraController   > > Qt3DRender::QObjectPicker   > > Qt3DInput::QInputSettings   > > Qt3DCore::QEntity   RailPart-0 > > Qt3DCore::QEntity   RailPart-1 > > Qt3DCore::QEntity   RailPart-2 > > Qt3DCore::QEntity   RailPart-3 > > Qt3DCore::QEntity   RailPart-4 > > Qt3DCore::QEntity   RailPart-5 > > Qt3DCore::QEntity   RailPart-6 > > Qt3DCore::QEntity   RailPart-7 > > DefectBoxEntity   RailDefect-501 > > set alpha to  0.95 for  0 > > DefectBoxEntity   RailDefect-502 > > set alpha to  0.4 for  1 > > DefectBoxEntity   RailDefect-503 > > set alpha to  0.4 for  2 > > DefectBoxEntity   RailDefect-504 > > set alpha to  0.4 for  3 > > DefectBoxEntity   RailDefect-505 > > set alpha to  0.4 for  4 > > DefectBoxEntity   RailDefect-506 > > set alpha to  0.4 for  5 > > DefectBoxEntity   RailDefect-507 > > set alpha to  0.4 for  6 > > DefectBoxEntity   RailDefect-508 > > set alpha to  0.4 for  7 > Did you specify a custom FrameGraph in QRenderSettings? What I think is happening is that sometimes the drawing order is correct, sometimes it's not. So you end up in cases where the RailDefect are drawn before the RailParts which would explain the issue. In Qt3D, when using the default provided FrameGraph the drawing order isn't defined by the position in which an Entity is in the tree hierarchy of the scene. You can control that drawing order by having a custom FrameGraph tree and using the elements QLayer and QLayerFilter. You would basically need to have a QLayer for the rail, a QLayer for the defects. Then in your FrameGraph you would first have a branch with a QLayerFilter that selects entities with the layer for the rail, then a second branch which would select entities with the defect layer. That way you will be sure that at all times the rail is rendered first, followed by the defects. >   > > To update the scene I remove all Rail.* entities and insert the new ones. > >   > > These are the relevant parts of this code: > >   > > voiddeleteChildrenRecursively(constQt3DCore::QNodeVector& vector) > > { > >     Qt3DCore::QNode* nullParent= nullptr; > >     for(auto* node: vector) { > >         auto* entity= dynamic_cast(node); > qobject_cast would be more appropriate here If you set the parenting correctly on your elements, you should be able to delete only the parent of all the entities you want to delete which would take care of doing the recursive deletion automatically for you. You may want to add another Entity just for that purpose of grouping your rail parts. > >         if(entity) { > >             autocomps= entity->components(); > >             entity->setParent(nullParent); > >             for(auto* component: comps) { > >                 component->setParent(nullParent); > >                 entity->removeComponent(component); > >                 deletecomponent; > >             } > >         } > >         deleteChildrenRecursively(node->childNodes()); > >         deletenode; > >     } > > } > >   > > voidRailEntityPrivate::load(doubleframeHeight, > conststd::/vector/>& finalPointVecs) > > { > >     Q_Q(RailEntity); > >     Qt3DCore::QNode* nullParent= nullptr; > >     qDebug() <<"RailEntityPrivate::load:"; > >     autochilds= q->childNodes(); > >     for(auto& node: childs) { > >         qDebug() <metaObject()->className() <<" > "<objectName()); > >     } > >     qDebug() <<""; > >     Qt3DCore::QNodeVectorrailNodes; > >     length= frameHeight* 3.0; > >     railNodes.reserve(childs.size()); > >     for(auto* node: childs) { > >         if(node->objectName().startsWith(QLatin1String("Rail"))) { > >             railNodes.push_back(node); > >         } > >     } > >     for(auto* node: railNodes) { > >         Qt3DCore::QEntity* entity= (Qt3DCore::QEntity*)node; > >         entity->setParent(nullParent); > >         autoec= node->childNodes(); > >         deleteChildrenRecursively(ec); > >         deleteentity; > >     } > >   > >     currentDefectIndex= -1; > >     computeExtend(finalPointVecs); > >     /size_t/startList= 0u; > >     /size_t/endList= finalPointVecs.size(); > >     for(autoi= startList; i< endList; ++i) { > >         autoentity= newQt3DCore::QEntity(q); > >         entity->setObjectName(QStringLiteral("RailPart-") > +QString::number(i)); > >         autoflength= static_cast(length); > >         automesh= newRailGeometryRenderer(finalPointVecs[i].second, > flength); > >         automaterial= newQt3DExtras::QNormalDiffuseMapMaterial(); > >         material->setShininess(10.0f); > >         material->setAmbient(QColor(76, 84, 76)); > >         material->setSpecular(QColor(20, 20, 20)); > >         autoseed= static_cast(currentFrameNr* 100u + i); > >         autoheightMap= RailEntityPrivate::createRandomHeightMap(1024, > 512, seed); > >         auto* diffuseImage= newMyTextureImage(heightMap); > >         material->diffuse()->addTextureImage(diffuseImage); > >         autonormalMap= > RailEntityPrivate::makeNormalMapFromHeightMap(heightMap); > >         auto* normalImage= newMyTextureImage(normalMap); > >         material->normal()->addTextureImage(normalImage); > >         entity->addComponent(mesh); > >         entity->addComponent(material); > >     } > >     centerCamera(); > > } > > voidRailEntity::updateDefects(constDefects& defects) > > { > >     Q_D(RailEntity); > >     /size_t/defectCount= defects./size/(); > >     /size_t/index= 0; > >     autochilds= childNodes(); > >     Qt3DCore::QNode* nullParent= nullptr; > >     qDebug() <<"RailEntity::updateDefects:"; > >     for(auto& node: childs) { > >         qDebug() <metaObject()->className() <<" > "<objectName()); > >     } > >     qDebug() <<""; > >     Qt3DCore::QNodeVectorrailDefectNodes; > >     railDefectNodes.reserve(childs.size()); > >     for(auto* node: childs) { > >         if(node->objectName().startsWith(QLatin1String("RailDefect-"))) { > >             railDefectNodes.push_back(node); > >         } > >     } > >     for(auto* node: railDefectNodes) { > >         Qt3DCore::QEntity* entity= (Qt3DCore::QEntity*)node; > >         entity->setParent(nullParent); > >         autoec= node->childNodes(); > >         deleteChildrenRecursively(ec); > >         deleteentity; > >     } > >     for(constauto& defect: defects) { > >         QStringname= QLatin1String("RailDefect-") > +QString::number(defect.id); > >         d->insertDefect(name, defect, this); > >     } > > } > > voidRailEntityPrivate::insertDefect(QStringname, constDefect& defect, > Qt3DCore::QEntity* parent) > > { > >     QStringclassColor; > >     if(defectClassModel) { > >         > classColor=defectClassModel->getColor(static_cast(defect.classId)); > >     } > >     QColorcol= classColor.isEmpty() ? QColor(128, 40, 0) : > QColor(classColor); > >     autoentity= newDefectBoxEntity(defect, col, startMM, parent); > >     entity->setObjectName(name); > > } > >   > >   > > DefectBoxEntity has a transform, a base QPhongAlphaMaterial and 12 > QCuboidMeshes with associated transforms and using the base material. > >   > >   > > I suspect that either I do something wrong when I delete the “old” > entities or there is a general synchronization problem with the > rendering backend. > >   > > Anybody with ideas or suggestions? > >   > > Best regards, > > Helmut > >   > >   > >   > >   > >   > > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -- Paul Lemire | paul.lemire at kdab.com | Senior Software Engineer KDAB (France) S.A.S., a KDAB Group company Tel: France +33 (0)4 90 84 08 53, http://www.kdab.fr KDAB - The Qt, C++ and OpenGL Experts -------------- next part -------------- An HTML attachment was scrubbed... URL: From soroush.rabiei at gmail.com Wed Oct 4 09:01:11 2017 From: soroush.rabiei at gmail.com (Soroush Rabiei) Date: Wed, 4 Oct 2017 10:31:11 +0330 Subject: [Interest] represent QHostAddress as locale dependent string In-Reply-To: References: <6495725.yOvVXRAzdP@tjmaciei-mobl1> Message-ID: On Thu, Sep 21, 2017 at 1:43 PM, Konrad Rosenbaum wrote: > > European/Latin derived scripts are left to right. Arabic and other Semitic > scripts are right to left. Fortunately they use the dot in a very similar > way to Latin based scripts. However: after you translated the digits from > Latin looking arabic numerals to arabic looking arabic numerals - do you > sort the 4 numbers from left to right or from right to left? Nope. There is no recent Arabic script that suggests writing numbers from left to right (: Arabic is bidirectional. digits are written from left to right. Anyway, we don't want **everything** localized. And we are used to Hindu-Arabic numeral system with western numbers. IPv4, IPv6, special numbers (for example in street address) MAC and other technical stuff should not be localized. If you do so, you'll break someones work... Personally, I can't imagine using an application in Persian (that uses Arabic script with extensions) that shows IP addresses like ۱۹۲.۱۶۸.۱.۴ (in Persian) or ۱۹۲.۱۶۸.۱.٤‎ (in Arabic) that just won't work. You can't copy/paste that address in some other application. Cheers, Soroush From carel.combrink at gmail.com Wed Oct 4 09:02:03 2017 From: carel.combrink at gmail.com (Carel Combrink) Date: Wed, 4 Oct 2017 09:02:03 +0200 Subject: [Interest] Qt and Clang Message-ID: Hi, Do I need to rebuild Qt if I want to start using clang as my build tools on Windows and Linux? I am currently using gcc on Linux and MinGW on Windows and need to start building 64 bit applications. Regards, Carel -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeanmichael.celerier at gmail.com Wed Oct 4 09:07:13 2017 From: jeanmichael.celerier at gmail.com (=?UTF-8?Q?Jean=2DMicha=C3=ABl_Celerier?=) Date: Wed, 4 Oct 2017 09:07:13 +0200 Subject: [Interest] Qt and Clang In-Reply-To: References: Message-ID: > Do I need to rebuild Qt if I want to start using clang as my build tools on Windows and Linux? At least on linux, clang and GCC share the same ABI and clang uses libstdc++ by default so you should be good. Best, ------- Jean-Michaël Celerier http://www.jcelerier.name On Wed, Oct 4, 2017 at 9:02 AM, Carel Combrink wrote: > Hi, > > Do I need to rebuild Qt if I want to start using clang as my build tools > on Windows and Linux? > > I am currently using gcc on Linux and MinGW on Windows and need to start > building 64 bit applications. > > Regards, > Carel > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From r.oehlinger at avibit.com Wed Oct 4 10:13:12 2017 From: r.oehlinger at avibit.com (=?UTF-8?Q?Richard_=c3=96hlinger?=) Date: Wed, 4 Oct 2017 10:13:12 +0200 Subject: [Interest] QUdpSocket on Windows 10: QNetworkDatagram::destinationAddress/Port not set In-Reply-To: <2338857.TzGAqiETuj@tjmaciei-mobl1> References: <2338857.TzGAqiETuj@tjmaciei-mobl1> Message-ID: <8c10cbef-a7d8-a0ab-3887-fcaa10bd19c8@avibit.com> On 10/03/2017 04:52 PM, Thiago Macieira wrote: > If that doesn't fix the issue, can you make a simple example for what fails for > you? I need to test what's wrong. I do bind to QHostAddress::AnyIPv4 and I get all the messages, but just not destinationAddress/Port. I've attached a minimal example and a small powershell script to send the data. Regards, Richard -------------- next part -------------- # send-udp # # Simple Tool to send UDP-Ports to a range with a various source port range. # you can use Netmon/WireShark on the target to see the incomping traffic. # i have NO listener to listen on all ports # # # Links: http://pshscripts.blogspot.de/2008/12/send-udpdatagramps1.html param ( [string]$remoteip = "239.193.0.11", # IP to send to [int]$remoteudpport=10101, # port to send to [int]$sourceudpport = 0, # SourcePort, maybe empty uses and available port [string]$buffer = "SendUDP Message by msxfaq" ) $udpClient = new-Object system.Net.Sockets.Udpclient($sourceport) $byteBuffer = [System.Text.Encoding]::ASCII.GetBytes($Buffer) $sendbytes = $udpClient.Send($byteBuffer, $byteBuffer.length, $remoteip, $remoteudpport) if ($sendbytes -ne $byteBuffer.length) { write-host "Mismatch bytes" } -------------- next part -------------- A non-text attachment was scrubbed... Name: Test.cpp Type: text/x-c++src Size: 748 bytes Desc: not available URL: From sergio.martins at kdab.com Wed Oct 4 10:29:09 2017 From: sergio.martins at kdab.com (Sergio Martins) Date: Wed, 04 Oct 2017 09:29:09 +0100 Subject: [Interest] Qt and Clang In-Reply-To: References: Message-ID: <38b20ce0695033804c3b1180dcab0687@kdab.com> On 2017-10-04 08:02, Carel Combrink wrote: > Hi, > > Do I need to rebuild Qt if I want to start using clang as my build > tools on > Windows and Linux? > > I am currently using gcc on Linux and MinGW on Windows and need to > start > building 64 bit applications. gcc supports 64 bit, if that's the only reason then you don't need to use clang. Regards, -- Sérgio Martins | sergio.martins at kdab.com | Senior Software Engineer Klarälvdalens Datakonsult AB, a KDAB Group company Tel: Sweden (HQ) +46-563-540090, USA +1-866-777-KDAB(5322) KDAB - The Qt, C++ and OpenGL Experts From jtykka at broadsoft.com Wed Oct 4 10:52:18 2017 From: jtykka at broadsoft.com (Jani Tykka) Date: Wed, 4 Oct 2017 11:52:18 +0300 Subject: [Interest] Issue with concurrent QNetworkRequests In-Reply-To: <2702836.HYZIEjoZ3t@tjmaciei-mobl1> References: <3434634.edeP40DyBC@tjmaciei-mobl1> <2702836.HYZIEjoZ3t@tjmaciei-mobl1> Message-ID: Actually it wasn't :) Found out it was QTBUG in 5.6.2 https://bugreports.qt.io/browse/QTBUG-56616 On Wed, Sep 27, 2017 at 1:13 AM, Thiago Macieira wrote: > On terça-feira, 26 de setembro de 2017 13:12:43 PDT Jani Tykka wrote: > > No special reason why I couldnt use 1 nam instance, I will try and see if > > it makes any difference. > > Unlikely. The problem is most likely in your own code. > > -- > Thiago Macieira - thiago.macieira (AT) https://urldefense.proofpoint. > com/v2/url?u=http-3A__intel.com&d=DwIFAw&c=uiYkEnhlQB0H-gDwErXr4Q&r=wvIt_ > JuLp9axQq3NQWhY0UHgd4iE-wQTwUWS6jf3nRM&m=vToAl6GAypyPc21hVu7JR2_ > 6PNunRPJ4u8Ywj7foFZw&s=9hfynwA_b-U8B5qZ_XijgqDpfp_S27bXLrgfdPxegNI&e= > Software Architect - Intel Open Source Technology Center > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > https://urldefense.proofpoint.com/v2/url?u=http-3A__lists. > qt-2Dproject.org_mailman_listinfo_interest&d=DwIFAw&c= > uiYkEnhlQB0H-gDwErXr4Q&r=wvIt_JuLp9axQq3NQWhY0UHgd4iE-wQTwUWS6jf3nRM&m= > vToAl6GAypyPc21hVu7JR2_6PNunRPJ4u8Ywj7foFZw&s= > EiazDpCklShK7bqmMfo25Iy9VeeQytm87HRFnr2yGUU&e= > -- *Jani Tykkä* Development Manager | BroadSoft, Inc. | +358 44 596 0587 | jtykka at broadsoft.com -- This email is intended solely for the person or entity to which it is addressed and may contain confidential and/or privileged information. If you are not the intended recipient and have received this email in error, please notify BroadSoft, Inc. immediately by replying to this message, and destroy all copies of this message, along with any attachment, prior to reading, distributing or copying it. Ce message confidentiel et les éventuelles pièces jointes sont à l’usage exclusif de son ou de sa destinataire. Il est interdit, pour toute autre personne, de le distribuer, d’en dévoiler le contenu ou de le reproduire. Si vous avez reçu cette communication par erreur, veuillez en informer immédiatement l’expéditeur par courrier électronique et détruire l’original de ce message ainsi que toute copie. -------------- next part -------------- An HTML attachment was scrubbed... URL: From r.oehlinger at avibit.com Wed Oct 4 11:38:31 2017 From: r.oehlinger at avibit.com (=?UTF-8?Q?Richard_=c3=96hlinger?=) Date: Wed, 4 Oct 2017 11:38:31 +0200 Subject: [Interest] QUdpSocket on Windows 10: QNetworkDatagram::destinationAddress/Port not set In-Reply-To: <8c10cbef-a7d8-a0ab-3887-fcaa10bd19c8@avibit.com> References: <2338857.TzGAqiETuj@tjmaciei-mobl1> <8c10cbef-a7d8-a0ab-3887-fcaa10bd19c8@avibit.com> Message-ID: <7e98b6f3-7f69-e564-1a3b-e5a5a9bb3c2e@avibit.com> On 10/04/2017 10:13 AM, Richard Öhlinger wrote: > > I do bind to QHostAddress::AnyIPv4 and I get all the messages, but > just not destinationAddress/Port. After looking at the implementation in qnativesocketengine_win.cpp i see that QNativeSocketEnginePrivate::nativeReceiveDatagram does not set the destinationAddress/Port [1] whereas qnativesocketengine_unix.cpp does set it. [2] Also the tst_QUdpSocket [3] does not test the functionality based on the documentation [4] There would have to be some #if(def) or if statements. Regards, Richard [1]https://code.woboq.org/qt5/qtbase/src/network/socket/qnativesocketengine_win.cpp.html#1275 [2]https://code.woboq.org/qt5/qtbase/src/network/socket/qnativesocketengine_unix.cpp.html#978 [3]https://code.woboq.org/qt5/qtbase/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp.html#1474 [4] https://doc.qt.io/qt-5/qnetworkdatagram.html#feature-support From gaguilar at aguilardelgado.com Wed Oct 4 13:08:02 2017 From: gaguilar at aguilardelgado.com (Gonzalo Aguilar Delgado) Date: Wed, 4 Oct 2017 13:08:02 +0200 Subject: [Interest] Calling QT Class method from pthread thread Message-ID: <1c41f621-88f6-a5a3-d3f2-af17e56e6ce3@aguilardelgado.com> Hello, I'm facing a problem that don't know how to tackle. I created a library that runs on C. It's based on callbacks and it seems to work in other projects well. When connecting to Qt and classes I found a couple of problems that now they are extending. It seems that I cannot set a callback from C directly to a class, so I created an intermediate static function that will wrap the call to the class. static gboolean callbackWrapper(SG64ZeroMQ* mq, ThriftStruct* message, gpointer data, GError **error) { qDebug("Message received"); MQMessageManager *self = static_cast(data); fflush(stdout); qDebug("Thread of the call %x", QThread::currentThread()); self->processMessage(mq, message, error); return TRUE;} Nice. We get the class from the callback. Do a static cast and go ahead with processing. But I want to notify other class that a event happend, with a Signal. For completeness I include also constructor. MQMessageManager::MQMessageManager() :error(NULL),mqsubscriber(NULL){qDebug("Thread of the class %x", QThread::currentThread());} bool MQMessageManager::processMessage(SG64ZeroMQ* mq, ThriftStruct* message, GError **error){ mqPayload *payload=NULL; mqCardEvent *cardEvent = NULL; mqMessage *msg=NULL; QString str; g_return_val_if_fail (THRIFT_IS_STRUCT (message), FALSE); if(IS_MQ_MESSAGE(message)) msg=MQ_MESSAGE(message); switch(msg->type){ case MQ_MESSAGE_TYPE_COMMAND: puts("Received a command"); break; case MQ_MESSAGE_TYPE_GPS_EVENT: puts("Received a gps event"); break; case MQ_MESSAGE_TYPE_CARD_EVENT: if(IS_MQ_CARD_EVENT(msg->payload->card_event)){ cardEvent = msg->payload->card_event; if(cardEvent!=NULL && cardEvent->atr!=NULL){ QByteArray array((char *)cardEvent->atr->data, (int) cardEvent->atr->len); QString atr = QString(array.toHex()); qDebug("ATR found of size %d, %s", cardEvent->atr->len, atr.toLatin1().data());* emit cardValidationSuccess();**** qDebug("Emitted valid signal");* } } break; default: printf("Message of type %i cannot be managed\n", msg->type); break; } return TRUE;} Of course I did the typical connect signals functions. Done in the MainWindow.cpp class. After object creation and all the stuff. qDebug("Thread of the connect %x", QThread::currentThread()); if(!QObject::connect(mqMessageManager, SIGNAL(cardValidationSuccess()), this, SLOT(displayValid()),Qt::QueuedConnection)){ qDebug("Cannot connect signal"); } QObject::connect(mqMessageManager, SIGNAL(valid(QString)), this, SLOT(displayValid(QString)), Qt::BlockingQueuedConnection); Well, when the emit is called the system blows up! My investigations tells me that since the emit is called from the callback thread and the class was created in another thread there's a problem there that avoids the system to correctly function. The problem is that everyone tells me that signal emission doesn't has anything to do with thread affinity. I don't think so with the proof in my hand. When you run the code the log is shown like this: Thread of the class 557845a0 Starting ticketing Thread of the connect 557845a0 Connecting localhost Connected to server Message received Thread of the call c00024f0 ATR ... ---Crash on emit--- The question is. Is there any way to run self->processMessage(mq, message, error); On the same thread the class was defined 0x557845a0 instead of the calling thread 0xc00024f0? I defined process message like a slot. But if I use invokeMethod it also crash when calling it. I suppose because the same issue. moveToThread also doesn't work and it fails, I suppose because the same problem. The root of the issue to me is that a pthread doesn't have all the information that QT injects into the software and it makes everything run there to blow up when using QT mechanism. Since the support is not enable on that thread. Any help on this? Best regards, -------------- next part -------------- An HTML attachment was scrubbed... URL: From surana4u at gmail.com Wed Oct 4 14:12:02 2017 From: surana4u at gmail.com (Harish Surana) Date: Wed, 4 Oct 2017 14:12:02 +0200 Subject: [Interest] Calling QT Class method from pthread thread In-Reply-To: <1c41f621-88f6-a5a3-d3f2-af17e56e6ce3@aguilardelgado.com> References: <1c41f621-88f6-a5a3-d3f2-af17e56e6ce3@aguilardelgado.com> Message-ID: >From Qt Documentation http://doc.qt.io/qt-5/thread-basics.html#gui-thread-and-worker-thread "As mentioned, each program has one thread when it is started. This thread is called the "main thread" (also known as the "GUI thread" in Qt applications). The Qt GUI must run in this thread. All widgets and several related classes, for example QPixmap , don't work in secondary threads. A secondary thread is commonly referred to as a "worker thread" because it is used to offload processing work from the main thread." On Wed, Oct 4, 2017 at 1:08 PM, Gonzalo Aguilar Delgado < gaguilar at aguilardelgado.com> wrote: > Hello, > > I'm facing a problem that don't know how to tackle. I created a library > that runs on C. It's based on callbacks and it seems to work in other > projects well. > > When connecting to Qt and classes I found a couple of problems that now > they are extending. > > It seems that I cannot set a callback from C directly to a class, so I > created an intermediate static function that will wrap the call to the > class. > > static gboolean callbackWrapper(SG64ZeroMQ* mq, ThriftStruct* message, > gpointer data, GError **error) { qDebug("Message received"); > MQMessageManager *self = static_cast(data); > fflush(stdout); qDebug("Thread of the call %x", > QThread::currentThread()); self->processMessage(mq, message, error); > return TRUE; } > > Nice. We get the class from the callback. Do a static cast and go ahead > with processing. But I want to notify other class that a event happend, > with a Signal. > > For completeness I include also constructor. > > MQMessageManager::MQMessageManager() : error(NULL), mqsubscriber(NULL) { qDebug("Thread > of the class %x", QThread::currentThread()); } > > bool MQMessageManager::processMessage(SG64ZeroMQ* mq, ThriftStruct* > message, GError **error) { mqPayload *payload=NULL; mqCardEvent > *cardEvent = NULL; mqMessage *msg=NULL; QString str; > g_return_val_if_fail (THRIFT_IS_STRUCT (message), FALSE); > if(IS_MQ_MESSAGE(message)) msg=MQ_MESSAGE(message); > switch(msg->type){ case MQ_MESSAGE_TYPE_COMMAND: > puts("Received a command"); break; case > MQ_MESSAGE_TYPE_GPS_EVENT: puts("Received a gps event"); > break; case MQ_MESSAGE_TYPE_CARD_EVENT: > if(IS_MQ_CARD_EVENT(msg->payload->card_event)){ cardEvent = > msg->payload->card_event; if(cardEvent!=NULL && > cardEvent->atr!=NULL){ QByteArray array((char > *)cardEvent->atr->data, (int) cardEvent->atr->len); > QString atr = QString(array.toHex()); qDebug("ATR found > of size %d, %s", cardEvent->atr->len, atr.toLatin1().data()); * > emit cardValidationSuccess();* * qDebug("Emitted valid > signal");* } } break; default: > printf("Message of type %i cannot be managed\n", msg->type); > break; } return TRUE; } > > Of course I did the typical connect signals functions. Done in the > MainWindow.cpp class. After object creation and all the stuff. > > qDebug("Thread of the connect %x", QThread::currentThread()); > if(!QObject::connect(mqMessageManager, SIGNAL(cardValidationSuccess()), > this, SLOT(displayValid()),Qt::QueuedConnection)){ qDebug("Cannot > connect signal"); } QObject::connect(mqMessageManager, > SIGNAL(valid(QString)), this, SLOT(displayValid(QString)), > Qt::BlockingQueuedConnection); > > Well, when the emit is called the system blows up! > > My investigations tells me that since the emit is called from the callback > thread and the class was created in another thread there's a problem there > that avoids the system to correctly function. The problem is that everyone > tells me that signal emission doesn't has anything to do with thread > affinity. I don't think so with the proof in my hand. > > When you run the code the log is shown like this: > > Thread of the class 557845a0 > > Starting ticketing > > Thread of the connect 557845a0 > Connecting localhost > > Connected to server > > Message received > > Thread of the call c00024f0 > > ATR ... > > ---Crash on emit--- > > The question is. Is there any way to run self->processMessage(mq, > message, error); On the same thread the class was defined 0x557845a0 > instead of the calling thread 0xc00024f0? > > I defined process message like a slot. But if I use invokeMethod it also > crash when calling it. I suppose because the same issue. moveToThread also > doesn't work and it fails, I suppose because the same problem. > > The root of the issue to me is that a pthread doesn't have all the > information that QT injects into the software and it makes everything run > there to blow up when using QT mechanism. Since the support is not enable > on that thread. > > Any help on this? > > Best regards, > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gaguilar at aguilardelgado.com Wed Oct 4 15:06:02 2017 From: gaguilar at aguilardelgado.com (Gonzalo Aguilar Delgado) Date: Wed, 4 Oct 2017 15:06:02 +0200 Subject: [Interest] Calling QT Class method from pthread thread In-Reply-To: References: <1c41f621-88f6-a5a3-d3f2-af17e56e6ce3@aguilardelgado.com> Message-ID: <081f35ff-92eb-670c-fe08-40acc8d90517@aguilardelgado.com> Hello, Ok. But what does it has to do with the emit signal? It should not crash even if the signal is emitted from worker thread. I find not useful this without an explanation on how to make it work and why. But thank you for your response. On 04/10/17 14:12, Harish Surana wrote: > From Qt Documentation > http://doc.qt.io/qt-5/thread-basics.html#gui-thread-and-worker-thread > > "As mentioned, each program has one thread when it is started. This > thread is called the "main thread" (also known as the "GUI thread" in > Qt applications). The Qt GUI must run in this thread. All widgets and > several related classes, for example QPixmap > , don't work in secondary threads. > A secondary thread is commonly referred to as a "worker thread" > because it is used to offload processing work from the main thread." > > On Wed, Oct 4, 2017 at 1:08 PM, Gonzalo Aguilar Delgado > > wrote: > > Hello, > > I'm facing a problem that don't know how to tackle. I created a > library that runs on C. It's based on callbacks and it seems to > work in other projects well. > > When connecting to Qt and classes I found a couple of problems > that now they are extending. > > It seems that I cannot set a callback from C directly to a class, > so I created an intermediate static function that will wrap the > call to the class. > > static gboolean callbackWrapper(SG64ZeroMQ* mq, ThriftStruct* > message, gpointer data, GError **error) { qDebug("Message > received"); MQMessageManager *self = > static_cast(data); fflush(stdout); > qDebug("Thread of the call %x", QThread::currentThread()); > self->processMessage(mq, message, error); return TRUE;} > > Nice. We get the class from the callback. Do a static cast and go > ahead with processing. But I want to notify other class that a > event happend, with a Signal. > > For completeness I include also constructor. > > MQMessageManager::MQMessageManager() > :error(NULL),mqsubscriber(NULL){qDebug("Thread of the class %x", > QThread::currentThread());} > > bool MQMessageManager::processMessage(SG64ZeroMQ* mq, > ThriftStruct* message, GError **error){ mqPayload > *payload=NULL; mqCardEvent *cardEvent = NULL; mqMessage > *msg=NULL; QString str; g_return_val_if_fail > (THRIFT_IS_STRUCT (message), FALSE); > if(IS_MQ_MESSAGE(message)) msg=MQ_MESSAGE(message); > switch(msg->type){ case MQ_MESSAGE_TYPE_COMMAND: > puts("Received a command"); break; case > MQ_MESSAGE_TYPE_GPS_EVENT: puts("Received a gps > event"); break; case > MQ_MESSAGE_TYPE_CARD_EVENT: > if(IS_MQ_CARD_EVENT(msg->payload->card_event)){ > cardEvent = msg->payload->card_event; > if(cardEvent!=NULL && cardEvent->atr!=NULL){ > QByteArray array((char *)cardEvent->atr->data, (int) > cardEvent->atr->len); QString atr = > QString(array.toHex()); qDebug("ATR found of size > %d, %s", cardEvent->atr->len, > atr.toLatin1().data());* emit > cardValidationSuccess();**** qDebug("Emitted valid > signal");* } } break; > default: printf("Message of type %i cannot be managed\n", > msg->type); break; } return TRUE;} > > Of course I did the typical connect signals functions. Done in the > MainWindow.cpp class. After object creation and all the stuff. > > qDebug("Thread of the connect %x", > QThread::currentThread()); > if(!QObject::connect(mqMessageManager, > SIGNAL(cardValidationSuccess()), this, > SLOT(displayValid()),Qt::QueuedConnection)){ qDebug("Cannot > connect signal"); } QObject::connect(mqMessageManager, > SIGNAL(valid(QString)), this, SLOT(displayValid(QString)), > Qt::BlockingQueuedConnection); > > Well, when the emit is called the system blows up! > > My investigations tells me that since the emit is called from the > callback thread and the class was created in another thread > there's a problem there that avoids the system to correctly > function. The problem is that everyone tells me that signal > emission doesn't has anything to do with thread affinity. I don't > think so with the proof in my hand. > > When you run the code the log is shown like this: > > Thread of the class 557845a0 > > Starting ticketing > > Thread of the connect 557845a0 > > Connecting localhost > > Connected to server > > Message received > > Thread of the call c00024f0 > > ATR ... > > ---Crash on emit--- > > The question is. Is there any way to run self->processMessage(mq, > message, error); On the same thread the class was defined > 0x557845a0 instead of the calling thread 0xc00024f0? > > I defined process message like a slot. But if I use invokeMethod > it also crash when calling it. I suppose because the same issue. > moveToThread also doesn't work and it fails, I suppose because the > same problem. > > The root of the issue to me is that a pthread doesn't have all the > information that QT injects into the software and it makes > everything run there to blow up when using QT mechanism. Since the > support is not enable on that thread. > > Any help on this? > > Best regards, > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > > > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From helmut.muelner at gmail.com Wed Oct 4 15:37:56 2017 From: helmut.muelner at gmail.com (=?iso-8859-1?Q?Helmut_M=FClner?=) Date: Wed, 4 Oct 2017 15:37:56 +0200 Subject: [Interest] Strange visibility problem after updating entities in Qt3D In-Reply-To: References: <012e01d33c5b$2004eac0$600ec040$@gmail.com> Message-ID: <013401d33d15$fdeef5a0$f9cce0e0$@gmail.com> Hi Paul, thank you for your tips, I think you diagnosed the problem correctly. Von: paul.lemire [mailto:paul.lemire] Im Auftrag von Paul Lemire Gesendet: Mittwoch, 4. Oktober 2017 07:05 [ ] Now I want to show another rail (it may have fewer or more parts) and another set of defects. The view from the side looks good (see rail2.jpg). But if I tilt the view, the visibility of the first two boxes is wrong. [ ] Did you specify a custom FrameGraph in QRenderSettings? No. What I think is happening is that sometimes the drawing order is correct, sometimes it's not. So you end up in cases where the RailDefect are drawn before the RailParts which would explain the issue. In Qt3D, when using the default provided FrameGraph the drawing order isn't defined by the position in which an Entity is in the tree hierarchy of the scene. I obviously misinterpreted this information from the „Qt 3D Render Framegraph” documentation: The Qt 3D renderer performs a depth first traversal of the framegraph tree. Note that, because the traversal is depth first, the order in which you define nodes is important. You can control that drawing order by having a custom FrameGraph tree and using the elements QLayer and QLayerFilter. You would basically need to have a QLayer for the rail, a QLayer for the defects. Then in your FrameGraph you would first have a branch with a QLayerFilter that selects entities with the layer for the rail, then a second branch which would select entities with the defect layer. That way you will be sure that at all times the rail is rendered first, followed by the defects. You lost me here. I have this code (copied from somewhere without understanding it fully): void RailEntityPrivate::initEntity() { Q_Q(RailEntity); auto* renderSettings = new Qt3DRender::QRenderSettings(); auto* viewport = new Qt3DRender::QViewport(); viewport->setNormalizedRect(QRectF(0.0f, 0.0f, 1.0f, 1.0f)); auto* renderSurfaceSelector = new Qt3DRender::QRenderSurfaceSelector(viewport); auto* layerFilter = new Qt3DRender::QLayerFilter(renderSurfaceSelector); layerFilter->setEnabled(false); auto* cameraSelector = new Qt3DRender::QCameraSelector(layerFilter); cameraSelector->setCamera(camera); auto* clearBuffer = new Qt3DRender::QClearBuffers(cameraSelector); clearBuffer->setBuffers(Qt3DRender::QClearBuffers::ColorDepthStencilBuffer); clearBuffer->setClearColor("#EEEEEE"); renderSettings->setActiveFrameGraph(viewport); q->addComponent(renderSettings); camera->setPosition(QVector3D(0.0f, 5.0f, 0.0f) + QVector3D(-25.0f, 0.0f, 0.0f)); camera->setViewCenter(QVector3D(0.0f, 0.0f, 0.0f)); camera->setUpVector(QVector3D(0.0f, 1.0f, 0.0f)); camera->setFarPlane(2000.0f); auto camController = new Qt3DExtras::QOrbitCameraController(q); camController->setLinearSpeed(300.0f); camController->setLookSpeed(180.0f); camController->setCamera(camera); renderSettings->pickingSettings()->setPickMethod(Qt3DRender::QPickingSetting s::TrianglePicking); auto objectPicker = new Qt3DRender::QObjectPicker(q); q->addComponent(objectPicker); QObject::connect(objectPicker, &Qt3DRender::QObjectPicker::clicked, q, &RailEntity::onClicked); railParts = new Qt3DCore::QEntity(q); railDefects = new Qt3DCore::QEntity(q); } I studied the (minimal) Qt3D documentation, the tests and the examples but could not find how to do this. I have the feeling that the Qt3d documentation and reference material assumes that the user already is an OpenGL expert. I am an experienced C++ and Qt developer but relatively new to OpenGL and Qt3D. My remaining problems: - How do I define a custom FrameGraph tree? - Do I need a QLayerFilter for each layer? - How do I define a branch in the FrameGraph? I tried to add this to the end of initEntity(): partsLayer = new Qt3DRender::QLayer(railParts); partsLayer->setRecursive(true); railParts->addComponent(partsLayer); defectsLayer = new Qt3DRender::QLayer(railDefects); defectsLayer->setRecursive(true); railDefects->addComponent(partsLayer); layerFilter->addLayer(partsLayer); layerFilter->addLayer(defectsLayer); Now I get a Windows error message after starting the program: entry point missing in DLL: createNodeCreationChange... I am using Qt 5.9.1 prebuilt msvc2017_64. To update the scene I remove all Rail.* entities and insert the new ones. These are the relevant parts of this code: void deleteChildrenRecursively(const Qt3DCore::QNodeVector& vector) { Qt3DCore::QNode* nullParent = nullptr; for (auto* node : vector) { auto* entity = dynamic_cast(node); qobject_cast would be more appropriate here If you set the parenting correctly on your elements, you should be able to delete only the parent of all the entities you want to delete which would take care of doing the recursive deletion automatically for you. You may want to add another Entity just for that purpose of grouping your rail parts. [ ] I know that (have written Qt programs since Qt-2.3.2), I just wanted to be sure the effect did not come from some left-over nodes in the framegraph Cheers, Helmut -------------- next part -------------- An HTML attachment was scrubbed... URL: From helmut.muelner at gmail.com Wed Oct 4 15:44:08 2017 From: helmut.muelner at gmail.com (=?iso-8859-1?Q?Helmut_M=FClner?=) Date: Wed, 4 Oct 2017 15:44:08 +0200 Subject: [Interest] Strange visibility problem after updating entities in Qt3D In-Reply-To: References: <012e01d33c5b$2004eac0$600ec040$@gmail.com> Message-ID: <014d01d33d16$db009660$9101c320$@gmail.com> Re: undefined entry error with createNodeCreationChange This came from mixing Qt versions (I had tried 5.10-alpha before and forgot to re-run cmake). Cheers, Helmut -------------- next part -------------- An HTML attachment was scrubbed... URL: From tony at rightsoft.com.au Wed Oct 4 15:45:09 2017 From: tony at rightsoft.com.au (Tony Rietwyk) Date: Thu, 5 Oct 2017 00:45:09 +1100 Subject: [Interest] Calling QT Class method from pthread thread In-Reply-To: <1c41f621-88f6-a5a3-d3f2-af17e56e6ce3@aguilardelgado.com> References: <1c41f621-88f6-a5a3-d3f2-af17e56e6ce3@aguilardelgado.com> Message-ID: <4a6ed02d-20a8-4450-d48b-fa4d60a41ea1@rightsoft.com.au> Hi Gonzalo, I don't think the documentation is clear enough, but my assumption is that emitting a signal connected with BlockingQueuedConnection can only be done in a thread created by QThread that has called QThread.exec in its run override. Does your callback thread really have to wait for the main thread to finish executing its slot? If not, then I think just using QueuedConnection should work from a non-QThread. Regards, Tony On 4/10/2017 10:08 PM, Gonzalo Aguilar Delgado wrote: > > Hello, > > I'm facing a problem that don't know how to tackle. I created a > library that runs on C. It's based on callbacks and it seems to work > in other projects well. > > When connecting to Qt and classes I found a couple of problems that > now they are extending. > > It seems that I cannot set a callback from C directly to a class, so I > created an intermediate static function that will wrap the call to the > class. > > static gboolean callbackWrapper(SG64ZeroMQ* mq, ThriftStruct* message, > gpointer data, GError **error) {    qDebug("Message received");    > MQMessageManager *self = static_cast(data);    > fflush(stdout);    qDebug("Thread of the call %x", > QThread::currentThread());    self->processMessage(mq, message, > error);    return TRUE;} > > Nice. We get the class from the callback. Do a static cast and go > ahead with processing. But I want to notify other class that a event > happend, with a Signal. > > For completeness I include also constructor. > > MQMessageManager::MQMessageManager() > :error(NULL),mqsubscriber(NULL){qDebug("Thread of the class %x", > QThread::currentThread());} > > bool MQMessageManager::processMessage(SG64ZeroMQ* mq, ThriftStruct* > message, GError **error){    mqPayload *payload=NULL;    mqCardEvent > *cardEvent = NULL;    mqMessage *msg=NULL;    QString str;    > g_return_val_if_fail (THRIFT_IS_STRUCT (message), FALSE);    > if(IS_MQ_MESSAGE(message))      msg=MQ_MESSAGE(message);    > switch(msg->type){      case MQ_MESSAGE_TYPE_COMMAND:        > puts("Received a command");        break;      case > MQ_MESSAGE_TYPE_GPS_EVENT:        puts("Received a gps event");        > break;      case MQ_MESSAGE_TYPE_CARD_EVENT:        > if(IS_MQ_CARD_EVENT(msg->payload->card_event)){            cardEvent = > msg->payload->card_event;            if(cardEvent!=NULL && > cardEvent->atr!=NULL){                QByteArray array((char > *)cardEvent->atr->data, (int) cardEvent->atr->len);                > QString atr = QString(array.toHex());                qDebug("ATR found > of size %d, %s", cardEvent->atr->len, > atr.toLatin1().data());*                emit > cardValidationSuccess();****                qDebug("Emitted valid > signal");*            }        }        break;      default:        > printf("Message of type %i cannot be managed\n", msg->type);        > break;    }    return TRUE;} > > Of course I did the typical connect signals functions. Done in the > MainWindow.cpp class. After object creation and all the stuff. > >     qDebug("Thread of the connect %x", QThread::currentThread());    > if(!QObject::connect(mqMessageManager, > SIGNAL(cardValidationSuccess()), this, > SLOT(displayValid()),Qt::QueuedConnection)){        qDebug("Cannot > connect signal");    }    QObject::connect(mqMessageManager, > SIGNAL(valid(QString)), this, SLOT(displayValid(QString)), > Qt::BlockingQueuedConnection); > > Well, when the emit is called the system blows up! > > My investigations tells me that since the emit is called from the > callback thread and the class was created in another thread there's a > problem there that avoids the system to correctly function. The > problem is that everyone tells me that signal emission doesn't has > anything to do with thread affinity. I don't think so with the proof > in my hand. > > When you run the code the log is shown like this: > > Thread of the class 557845a0 > > Starting ticketing > > Thread of the connect 557845a0 > > Connecting localhost > > Connected to server > > Message received > > Thread of the call c00024f0 > > ATR ... > > ---Crash on emit--- > > The question is. Is there any way to run self->processMessage(mq, > message, error); On the same thread the class was defined 0x557845a0 > instead of the calling thread 0xc00024f0? > > I defined process message like a slot. But if I use invokeMethod it > also crash when calling it. I suppose because the same issue. > moveToThread also doesn't work and it fails, I suppose because the > same problem. > > The root of the issue to me is that a pthread doesn't have all the > information that QT injects into the software and it makes everything > run there to blow up when using QT mechanism. Since the support is not > enable on that thread. > > Any help on this? > > Best regards, > > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From iamsergio at gmail.com Wed Oct 4 15:45:30 2017 From: iamsergio at gmail.com (=?UTF-8?Q?S=C3=A9rgio_Martins?=) Date: Wed, 4 Oct 2017 14:45:30 +0100 Subject: [Interest] Calling QT Class method from pthread thread In-Reply-To: <1c41f621-88f6-a5a3-d3f2-af17e56e6ce3@aguilardelgado.com> References: <1c41f621-88f6-a5a3-d3f2-af17e56e6ce3@aguilardelgado.com> Message-ID: On Wed, Oct 4, 2017 at 12:08 PM, Gonzalo Aguilar Delgado wrote: > Hello, > > I'm facing a problem that don't know how to tackle. I created a library that > runs on C. It's based on callbacks and it seems to work in other projects > well. Hi, last time we spoke you were finishing a test case that we could run and test, did you manage? Regards, Sérgio M. From gaguilar at aguilardelgado.com Wed Oct 4 16:32:48 2017 From: gaguilar at aguilardelgado.com (Gonzalo Aguilar Delgado) Date: Wed, 4 Oct 2017 16:32:48 +0200 Subject: [Interest] Calling QT Class method from pthread thread In-Reply-To: <4a6ed02d-20a8-4450-d48b-fa4d60a41ea1@rightsoft.com.au> References: <1c41f621-88f6-a5a3-d3f2-af17e56e6ce3@aguilardelgado.com> <4a6ed02d-20a8-4450-d48b-fa4d60a41ea1@rightsoft.com.au> Message-ID: <0315190d-9604-1a24-5b43-a11a9baaf18f@aguilardelgado.com> Hi Tony, Forget about the blockingqueuedconnection it never does the emit. So will never arrive to the target. You can set any kind of delivery that's supported by QT it will fail a lot before. While doing the emit. This value was left behind just to test different things. The real queue used is QueuedConnection. Thank you for the clarification. Best regards, On 04/10/17 15:45, Tony Rietwyk wrote: > > Hi Gonzalo, > > I don't think the documentation is clear enough, but my assumption is > that emitting a signal connected with BlockingQueuedConnection can > only be done in a thread created by QThread that has called > QThread.exec in its run override. Does your callback thread really > have to wait for the main thread to finish executing its slot? If not, > then I think just using QueuedConnection should work from a non-QThread. > > Regards, Tony > > > On 4/10/2017 10:08 PM, Gonzalo Aguilar Delgado wrote: >> >> Hello, >> >> I'm facing a problem that don't know how to tackle. I created a >> library that runs on C. It's based on callbacks and it seems to work >> in other projects well. >> >> When connecting to Qt and classes I found a couple of problems that >> now they are extending. >> >> It seems that I cannot set a callback from C directly to a class, so >> I created an intermediate static function that will wrap the call to >> the class. >> >> static gboolean callbackWrapper(SG64ZeroMQ* mq, ThriftStruct* >> message, gpointer data, GError **error) { qDebug("Message >> received"); MQMessageManager *self = >> static_cast(data); fflush(stdout); >> qDebug("Thread of the call %x", QThread::currentThread()); >> self->processMessage(mq, message, error); return TRUE;} >> >> Nice. We get the class from the callback. Do a static cast and go >> ahead with processing. But I want to notify other class that a event >> happend, with a Signal. >> >> For completeness I include also constructor. >> >> MQMessageManager::MQMessageManager() >> :error(NULL),mqsubscriber(NULL){qDebug("Thread of the class %x", >> QThread::currentThread());} >> >> bool MQMessageManager::processMessage(SG64ZeroMQ* mq, ThriftStruct* >> message, GError **error){ mqPayload *payload=NULL; mqCardEvent >> *cardEvent = NULL; mqMessage *msg=NULL; QString str; >> g_return_val_if_fail (THRIFT_IS_STRUCT (message), FALSE); >> if(IS_MQ_MESSAGE(message)) msg=MQ_MESSAGE(message); >> switch(msg->type){ case MQ_MESSAGE_TYPE_COMMAND: >> puts("Received a command"); break; case >> MQ_MESSAGE_TYPE_GPS_EVENT: puts("Received a gps >> event"); break; case MQ_MESSAGE_TYPE_CARD_EVENT: >> if(IS_MQ_CARD_EVENT(msg->payload->card_event)){ cardEvent >> = msg->payload->card_event; if(cardEvent!=NULL && >> cardEvent->atr!=NULL){ QByteArray array((char >> *)cardEvent->atr->data, (int) cardEvent->atr->len); >> QString atr = QString(array.toHex()); qDebug("ATR >> found of size %d, %s", cardEvent->atr->len, >> atr.toLatin1().data());* emit >> cardValidationSuccess();**** qDebug("Emitted valid >> signal");* } } break; default: >> printf("Message of type %i cannot be managed\n", msg->type); >> break; } return TRUE;} >> >> Of course I did the typical connect signals functions. Done in the >> MainWindow.cpp class. After object creation and all the stuff. >> >> qDebug("Thread of the connect %x", QThread::currentThread()); >> if(!QObject::connect(mqMessageManager, >> SIGNAL(cardValidationSuccess()), this, >> SLOT(displayValid()),Qt::QueuedConnection)){ qDebug("Cannot >> connect signal"); } QObject::connect(mqMessageManager, >> SIGNAL(valid(QString)), this, SLOT(displayValid(QString)), >> Qt::BlockingQueuedConnection); >> >> Well, when the emit is called the system blows up! >> >> My investigations tells me that since the emit is called from the >> callback thread and the class was created in another thread there's a >> problem there that avoids the system to correctly function. The >> problem is that everyone tells me that signal emission doesn't has >> anything to do with thread affinity. I don't think so with the proof >> in my hand. >> >> When you run the code the log is shown like this: >> >> Thread of the class 557845a0 >> >> Starting ticketing >> >> Thread of the connect 557845a0 >> >> Connecting localhost >> >> Connected to server >> >> Message received >> >> Thread of the call c00024f0 >> >> ATR ... >> >> ---Crash on emit--- >> >> The question is. Is there any way to run self->processMessage(mq, >> message, error); On the same thread the class was defined 0x557845a0 >> instead of the calling thread 0xc00024f0? >> >> I defined process message like a slot. But if I use invokeMethod it >> also crash when calling it. I suppose because the same issue. >> moveToThread also doesn't work and it fails, I suppose because the >> same problem. >> >> The root of the issue to me is that a pthread doesn't have all the >> information that QT injects into the software and it makes everything >> run there to blow up when using QT mechanism. Since the support is >> not enable on that thread. >> >> Any help on this? >> >> Best regards, >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From gaguilar at aguilardelgado.com Wed Oct 4 16:34:51 2017 From: gaguilar at aguilardelgado.com (Gonzalo Aguilar Delgado) Date: Wed, 4 Oct 2017 16:34:51 +0200 Subject: [Interest] Calling QT Class method from pthread thread In-Reply-To: References: <1c41f621-88f6-a5a3-d3f2-af17e56e6ce3@aguilardelgado.com> Message-ID: <6e20660c-747f-7531-603a-9fc0e1859634@aguilardelgado.com> Hello Sergio, Thank you a lot for asking. A test case will be great but it would mean to do a pthread thread and all the other stuff (callbacks from c and so on) so at this time is quite difficult to craft one. I've posted relevant code in pastie: https://pastebin.com/ruHutpDX I don't know if that's enough. Currently thinking on implementing all the stuff for QT. Something I wanted to avoid. But... If there's no clues... On 04/10/17 15:45, Sérgio Martins wrote: > On Wed, Oct 4, 2017 at 12:08 PM, Gonzalo Aguilar Delgado > wrote: >> Hello, >> >> I'm facing a problem that don't know how to tackle. I created a library that >> runs on C. It's based on callbacks and it seems to work in other projects >> well. > Hi, last time we spoke you were finishing a test case that we could > run and test, did you manage? > > Regards, > Sérgio M. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Wed Oct 4 17:29:22 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 4 Oct 2017 08:29:22 -0700 Subject: [Interest] QUdpSocket on Windows 10: QNetworkDatagram::destinationAddress/Port not set In-Reply-To: <7e98b6f3-7f69-e564-1a3b-e5a5a9bb3c2e@avibit.com> References: <8c10cbef-a7d8-a0ab-3887-fcaa10bd19c8@avibit.com> <7e98b6f3-7f69-e564-1a3b-e5a5a9bb3c2e@avibit.com> Message-ID: <2668312.qzTMrpMxPg@tjmaciei-mobl1> On Wednesday, 4 October 2017 02:38:31 PDT Richard Öhlinger wrote: > On 10/04/2017 10:13 AM, Richard Öhlinger wrote: > > I do bind to QHostAddress::AnyIPv4 and I get all the messages, but > > just not destinationAddress/Port. > > After looking at the implementation in qnativesocketengine_win.cpp i see > that QNativeSocketEnginePrivate::nativeReceiveDatagram does not set the > destinationAddress/Port [1] whereas qnativesocketengine_unix.cpp does > set it. [2] > > Also the tst_QUdpSocket [3] does not test the functionality based on the > documentation [4] There would have to be some #if(def) or if statements. Thanks for the analysis. I'll fix it (it's also my code). If you want to file a bug report too, I'd appreciate it. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From thiago.macieira at intel.com Wed Oct 4 17:31:59 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 4 Oct 2017 08:31:59 -0700 Subject: [Interest] Qt and Clang In-Reply-To: References: Message-ID: <2581829.mir3A5mkFN@tjmaciei-mobl1> On Wednesday, 4 October 2017 00:02:03 PDT Carel Combrink wrote: > Hi, > > Do I need to rebuild Qt if I want to start using clang as my build tools on > Windows and Linux? You shouldn't need to. This answer applies to the compiler, not the standard library. You must still use the same standard library that the original compiler used, not libc++. > I am currently using gcc on Linux and MinGW on Windows and need to start > building 64 bit applications. Please remember when using Clang on Windows that you want the "x86_64-mingw" target, not "x86_64-windows". The latter is compatible with MSVC, not GCC (MinGW). You can find out what he default target is by running clang -v. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From gaguilar at aguilardelgado.com Wed Oct 4 17:32:03 2017 From: gaguilar at aguilardelgado.com (Gonzalo Aguilar Delgado) Date: Wed, 4 Oct 2017 17:32:03 +0200 Subject: [Interest] Calling QT Class method from pthread thread In-Reply-To: <1c41f621-88f6-a5a3-d3f2-af17e56e6ce3@aguilardelgado.com> References: <1c41f621-88f6-a5a3-d3f2-af17e56e6ce3@aguilardelgado.com> Message-ID: <64f2b36e-09ca-c084-11b0-28e187e41f22@aguilardelgado.com> Hello, I moved from that solution that's not working to another approach I've used in other projects. It's like the pooled mechanism used by Qt to send signals. I've created a Queue with QQueue. The callback only has to put a new message to be processed in the queue. The class that was previously MQMessageManager is now a thread that takes elements from the queue to process them. What's my surprise? It also failed!!!! Appart from the fact I didn't mutexed the access... The inferior stopped because it received a signal from the operating system. Signal name : SIGSEGV Signal meaning : Segmentation fault Here inside QList... // This violates pointer aliasing rules, but it is known to be safe (and silent)// in unoptimized GCC builds (-fno-strict-aliasing). The other compilers which// set the same define are assumed to be safe.else *reinterpret_cast(n) = t; I'm starting to thing the election of this framework was not a good idea. C'mon... On 04/10/17 13:08, Gonzalo Aguilar Delgado wrote: > > Hello, > > I'm facing a problem that don't know how to tackle. I created a > library that runs on C. It's based on callbacks and it seems to work > in other projects well. > > When connecting to Qt and classes I found a couple of problems that > now they are extending. > > It seems that I cannot set a callback from C directly to a class, so I > created an intermediate static function that will wrap the call to the > class. > > static gboolean callbackWrapper(SG64ZeroMQ* mq, ThriftStruct* message, > gpointer data, GError **error) { qDebug("Message received"); > MQMessageManager *self = static_cast(data); > fflush(stdout); qDebug("Thread of the call %x", > QThread::currentThread()); self->processMessage(mq, message, > error); return TRUE;} > > Nice. We get the class from the callback. Do a static cast and go > ahead with processing. But I want to notify other class that a event > happend, with a Signal. > > For completeness I include also constructor. > > MQMessageManager::MQMessageManager() > :error(NULL),mqsubscriber(NULL){qDebug("Thread of the class %x", > QThread::currentThread());} > > bool MQMessageManager::processMessage(SG64ZeroMQ* mq, ThriftStruct* > message, GError **error){ mqPayload *payload=NULL; mqCardEvent > *cardEvent = NULL; mqMessage *msg=NULL; QString str; > g_return_val_if_fail (THRIFT_IS_STRUCT (message), FALSE); > if(IS_MQ_MESSAGE(message)) msg=MQ_MESSAGE(message); > switch(msg->type){ case MQ_MESSAGE_TYPE_COMMAND: > puts("Received a command"); break; case > MQ_MESSAGE_TYPE_GPS_EVENT: puts("Received a gps event"); > break; case MQ_MESSAGE_TYPE_CARD_EVENT: > if(IS_MQ_CARD_EVENT(msg->payload->card_event)){ cardEvent = > msg->payload->card_event; if(cardEvent!=NULL && > cardEvent->atr!=NULL){ QByteArray array((char > *)cardEvent->atr->data, (int) cardEvent->atr->len); > QString atr = QString(array.toHex()); qDebug("ATR found > of size %d, %s", cardEvent->atr->len, > atr.toLatin1().data());* emit > cardValidationSuccess();**** qDebug("Emitted valid > signal");* } } break; default: > printf("Message of type %i cannot be managed\n", msg->type); > break; } return TRUE;} > > Of course I did the typical connect signals functions. Done in the > MainWindow.cpp class. After object creation and all the stuff. > > qDebug("Thread of the connect %x", QThread::currentThread()); > if(!QObject::connect(mqMessageManager, > SIGNAL(cardValidationSuccess()), this, > SLOT(displayValid()),Qt::QueuedConnection)){ qDebug("Cannot > connect signal"); } QObject::connect(mqMessageManager, > SIGNAL(valid(QString)), this, SLOT(displayValid(QString)), > Qt::BlockingQueuedConnection); > > Well, when the emit is called the system blows up! > > My investigations tells me that since the emit is called from the > callback thread and the class was created in another thread there's a > problem there that avoids the system to correctly function. The > problem is that everyone tells me that signal emission doesn't has > anything to do with thread affinity. I don't think so with the proof > in my hand. > > When you run the code the log is shown like this: > > Thread of the class 557845a0 > > Starting ticketing > > Thread of the connect 557845a0 > > Connecting localhost > > Connected to server > > Message received > > Thread of the call c00024f0 > > ATR ... > > ---Crash on emit--- > > The question is. Is there any way to run self->processMessage(mq, > message, error); On the same thread the class was defined 0x557845a0 > instead of the calling thread 0xc00024f0? > > I defined process message like a slot. But if I use invokeMethod it > also crash when calling it. I suppose because the same issue. > moveToThread also doesn't work and it fails, I suppose because the > same problem. > > The root of the issue to me is that a pthread doesn't have all the > information that QT injects into the software and it makes everything > run there to blow up when using QT mechanism. Since the support is not > enable on that thread. > > Any help on this? > > Best regards, > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Wed Oct 4 17:33:56 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 4 Oct 2017 08:33:56 -0700 Subject: [Interest] Calling QT Class method from pthread thread In-Reply-To: <4a6ed02d-20a8-4450-d48b-fa4d60a41ea1@rightsoft.com.au> References: <1c41f621-88f6-a5a3-d3f2-af17e56e6ce3@aguilardelgado.com> <4a6ed02d-20a8-4450-d48b-fa4d60a41ea1@rightsoft.com.au> Message-ID: <3347291.f2qNg3M0D9@tjmaciei-mobl1> On Wednesday, 4 October 2017 06:45:09 PDT Tony Rietwyk wrote: > I don't think the documentation is clear enough, but my assumption is > that emitting a signal connected with BlockingQueuedConnection can only > be done in a thread created by QThread that has called QThread.exec in > its run override. Does your callback thread really have to wait for the > main thread to finish executing its slot? If not, then I think just > using QueuedConnection should work from a non-QThread. That is not correct. BlockingQueuedConnection should work with any thread, since QSemaphore works on any thread too. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From kshegunov at gmail.com Wed Oct 4 17:34:17 2017 From: kshegunov at gmail.com (Konstantin Shegunov) Date: Wed, 4 Oct 2017 18:34:17 +0300 Subject: [Interest] Calling QT Class method from pthread thread In-Reply-To: <6e20660c-747f-7531-603a-9fc0e1859634@aguilardelgado.com> References: <1c41f621-88f6-a5a3-d3f2-af17e56e6ce3@aguilardelgado.com> <6e20660c-747f-7531-603a-9fc0e1859634@aguilardelgado.com> Message-ID: This is the first line where you dereference the this pointer from what I could see, isn't it?. Are you sure you're getting a valid object? I mean are you sure MQMessageManager* self = static_cast(data); is what you think it is? -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Wed Oct 4 17:36:39 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 4 Oct 2017 08:36:39 -0700 Subject: [Interest] Calling QT Class method from pthread thread In-Reply-To: <64f2b36e-09ca-c084-11b0-28e187e41f22@aguilardelgado.com> References: <1c41f621-88f6-a5a3-d3f2-af17e56e6ce3@aguilardelgado.com> <64f2b36e-09ca-c084-11b0-28e187e41f22@aguilardelgado.com> Message-ID: <1572201.tnkmbYu1pK@tjmaciei-mobl1> On Wednesday, 4 October 2017 08:32:03 PDT Gonzalo Aguilar Delgado wrote: > The inferior stopped because it received a signal from the operating system. > > Signal name : > > > > SIGSEGV Can you paste the backtrace from all threads when that signal happens? Right- click the funtion stack in Qt Creator and select "Create full backtrace". If you're directly in gdb, just type "thread apply all bt" (I don't actually need the full, but I need a gdb trace). -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From gaguilar at aguilardelgado.com Wed Oct 4 17:37:51 2017 From: gaguilar at aguilardelgado.com (Gonzalo Aguilar Delgado) Date: Wed, 4 Oct 2017 17:37:51 +0200 Subject: [Interest] Calling QT Class method from pthread thread In-Reply-To: <3347291.f2qNg3M0D9@tjmaciei-mobl1> References: <1c41f621-88f6-a5a3-d3f2-af17e56e6ce3@aguilardelgado.com> <4a6ed02d-20a8-4450-d48b-fa4d60a41ea1@rightsoft.com.au> <3347291.f2qNg3M0D9@tjmaciei-mobl1> Message-ID: Hi Thiago, Forget it. I removed it since long ago. I'm using QueuedConnection everywhere. But still have troubles in all places where threading is involved. I'm truly desperate after 3 days working on fixing this. I've never had this kind of troubles with any framework I used before. In any language. I hope that someone with enough knowledge can point me out to the right place. Best regards, On 04/10/17 17:33, Thiago Macieira wrote: > On Wednesday, 4 October 2017 06:45:09 PDT Tony Rietwyk wrote: >> I don't think the documentation is clear enough, but my assumption is >> that emitting a signal connected with BlockingQueuedConnection can only >> be done in a thread created by QThread that has called QThread.exec in >> its run override. Does your callback thread really have to wait for the >> main thread to finish executing its slot? If not, then I think just >> using QueuedConnection should work from a non-QThread. > That is not correct. BlockingQueuedConnection should work with any thread, > since QSemaphore works on any thread too. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gaguilar at aguilardelgado.com Wed Oct 4 17:39:05 2017 From: gaguilar at aguilardelgado.com (Gonzalo Aguilar Delgado) Date: Wed, 4 Oct 2017 17:39:05 +0200 Subject: [Interest] Calling QT Class method from pthread thread In-Reply-To: References: <1c41f621-88f6-a5a3-d3f2-af17e56e6ce3@aguilardelgado.com> <6e20660c-747f-7531-603a-9fc0e1859634@aguilardelgado.com> Message-ID: Hello Kostantin, Yes it is. Because the code of the function starts to execute. In the example the processMessage. Until the operation stops on emit and the program crash. Quite nasty. It's something about threading... But what? On 04/10/17 17:34, Konstantin Shegunov wrote: > This is the first line where you dereference the this pointer from > what I could see, isn't it?. Are you sure you're getting a valid > object? I mean are you sure MQMessageManager* self > =static_cast(data); is what you think it is? -------------- next part -------------- An HTML attachment was scrubbed... URL: From r.oehlinger at avibit.com Wed Oct 4 17:39:43 2017 From: r.oehlinger at avibit.com (=?UTF-8?Q?Richard_=c3=96hlinger?=) Date: Wed, 4 Oct 2017 17:39:43 +0200 Subject: [Interest] QUdpSocket on Windows 10: QNetworkDatagram::destinationAddress/Port not set In-Reply-To: <2668312.qzTMrpMxPg@tjmaciei-mobl1> References: <8c10cbef-a7d8-a0ab-3887-fcaa10bd19c8@avibit.com> <7e98b6f3-7f69-e564-1a3b-e5a5a9bb3c2e@avibit.com> <2668312.qzTMrpMxPg@tjmaciei-mobl1> Message-ID: <145cc8c3-af78-9004-7bf5-0d080d6047ba@avibit.com> On 10/04/2017 05:29 PM, Thiago Macieira wrote: > If you want to file a bug report too, I'd appreciate it. Done QTBUG-63605. Thank you for looking into it. Regards, Richard From gaguilar at aguilardelgado.com Wed Oct 4 17:41:32 2017 From: gaguilar at aguilardelgado.com (Gonzalo Aguilar Delgado) Date: Wed, 4 Oct 2017 17:41:32 +0200 Subject: [Interest] Calling QT Class method from pthread thread In-Reply-To: <1572201.tnkmbYu1pK@tjmaciei-mobl1> References: <1c41f621-88f6-a5a3-d3f2-af17e56e6ce3@aguilardelgado.com> <64f2b36e-09ca-c084-11b0-28e187e41f22@aguilardelgado.com> <1572201.tnkmbYu1pK@tjmaciei-mobl1> Message-ID: Hello Thiago, Hope you can see something... ---------------------------------------------------------------- Thread 9 (Thread 0x7fffd15de700 (LWP 24773)): #0 0x00007ffff61d7cec in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=0x7fffd15dddf0, m=, local_signal_index=, argv=) at kernel/qobject.cpp:3513 receiverInSameThread = previousSender = callFunction = receiver = currentSender = {sender = 0x44, signal = -167026579, ref = 32767} method_relative = c = 0x1 last = 0x100000002 signalOffset = methodOffset = signal_index = signal_absolute_index = empty_argv = {0x0} currentThreadId = 140736705980160 locker = {val = 140736414616497} connectionLists = list = 0x7fffd8006df0 #1 0x000055555555ea29 in MQMessageManager::cardValidationSuccess() (this=0x7fffd15dddf0) at moc_mqmessagemanager.cpp:134 #2 0x000055555555d785 in MQMessageManager::processMessage(_SG64ZeroMQ*, _ThriftStruct*, _GError**) (this=0x7fffd15dddf0, mq=0x555555a59d40, message=0x7fffd400f380, error=0x555555a59d40) at ../mqmessagemanager.cpp:114 array = {static shared_null = {ref = {_q_value = 299}, alloc = 0, size = 0, data = 0x7ffff65297b8 "", array = ""}, static shared_empty = {ref = {_q_value = 3}, alloc = 0, size = 0, data = 0x7ffff6529798 "", array = ""}, d = 0x7fffc00049c0} atr = {static null = {}, static shared_null = {ref = {_q_value = 1}, alloc = 0, size = 0, data = 0x55555576405a , clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 4}, alloc = 0, size = 0, data = 0x7ffff65298fa , clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x7fffc000cc90, static codecForCStrings = 0x0} payload = 0x0 cardEvent = 0x7fffd40056c0 msg = 0x7fffd400f380 str = {static null = {}, static shared_null = {ref = {_q_value = 1}, alloc = 0, size = 0, data = 0x55555576405a , clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 4}, alloc = 0, size = 0, data = 0x7ffff65298fa , clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x555555764040 , static codecForCStrings = 0x0} __PRETTY_FUNCTION__ = "bool MQMessageManager::processMessage(SG64ZeroMQ*, ThriftStruct*, GError**)" #3 0x000055555555d247 in callbackWrapper(SG64ZeroMQ*, ThriftStruct*, gpointer, GError**) (mq=0x555555a59d40, message=0x7fffd400f380, data=0x7fffd15dddf0, error=0x555555a59d40) at ../mqmessagemanager.cpp:23 self = 0x7fffd15dddf0 #4 0x00007ffff754c88a in sg64_zeromq_worker_thread_RR_impl (thread_data=0x555555a59d40) at sg64_zeromq.c:135 self = 0x555555a59d40 cls = 0x555555aa22f0 error = 0x0 message = 0x7fffd400f380 items = {{socket = 0x555555aa6770, fd = -671060512, events = 1, revents = 1}} rc = 1 #5 0x00007ffff7292605 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #6 0x00007ffff5e217fc in start_thread (arg=0x7fffd15de700) at pthread_create.c:465 pd = 0x7fffd15de700 now = unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736705980160, -2309782713131127592, 140737488344862, 140737488344863, 140736705980160, 140736705980864, 2309680749589769432, 2309760672708898008}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} not_first_call = pagesize_m1 = sp = freesize = __PRETTY_FUNCTION__ = "start_thread" #7 0x00007ffff55b1a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 8 (Thread 0x7fffd1ddf700 (LWP 24772)): #0 0x00007ffff55b1bb7 in __GI_epoll_pwait (epfd=24, events=0x7fffd1dde140, maxevents=256, timeout=-1, set=0x0) at ../sysdeps/unix/sysv/linux/epoll_pwait.c:42 resultvar = 18446744073709551612 sc_cancel_oldtype = 0 #1 0x00007ffff49824a4 in () at /usr/lib/x86_64-linux-gnu/libzmq.so.5 #2 0x00007ffff49be3ec in () at /usr/lib/x86_64-linux-gnu/libzmq.so.5 #3 0x00007ffff5e217fc in start_thread (arg=0x7fffd1ddf700) at pthread_create.c:465 pd = 0x7fffd1ddf700 now = unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736714372864, -2309782713131127592, 140737488343950, 140737488343951, 140736714372864, 140736714373568, 2309681850712009944, 2309760672708898008}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} not_first_call = pagesize_m1 = sp = freesize = __PRETTY_FUNCTION__ = "start_thread" #4 0x00007ffff55b1a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 7 (Thread 0x7fffd25e0700 (LWP 24771)): #0 0x00007ffff55b1bb7 in __GI_epoll_pwait (epfd=22, events=0x7fffd25df140, maxevents=256, timeout=-1, set=0x0) at ../sysdeps/unix/sysv/linux/epoll_pwait.c:42 resultvar = 18446744073709551612 sc_cancel_oldtype = 0 #1 0x00007ffff49824a4 in () at /usr/lib/x86_64-linux-gnu/libzmq.so.5 #2 0x00007ffff49be3ec in () at /usr/lib/x86_64-linux-gnu/libzmq.so.5 #3 0x00007ffff5e217fc in start_thread (arg=0x7fffd25e0700) at pthread_create.c:465 pd = 0x7fffd25e0700 now = unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736722765568, -2309782713131127592, 140737488343950, 140737488343951, 140736722765568, 140736722766272, 2309682949686766808, 2309760672708898008}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} not_first_call = pagesize_m1 = sp = freesize = __PRETTY_FUNCTION__ = "start_thread" #4 0x00007ffff55b1a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 6 (Thread 0x7fffe2098700 (LWP 24770)): #0 0x00007ffff55a5831 in __GI___poll (fds=0x7fffd8005810, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 resultvar = 18446744073709551100 sc_cancel_oldtype = 0 #1 0x00007ffff726b129 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007ffff726b23c in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007ffff61f420e in QEventDispatcherGlib::processEvents(QFlags) (this=0x7fffd8001c30, flags=...) at kernel/qeventdispatcher_glib.cpp:450 d = 0x7fffd8000fb0 canWait = true savedFlags = {i = 0} result = #4 0x00007ffff61c212f in QEventLoop::processEvents(QFlags) (this=this at entry=0x7fffe2097dc0, flags=...) at kernel/qeventloop.cpp:149 d = 0x7fffd8007940 #5 0x00007ffff61c2495 in QEventLoop::exec(QFlags) (this=this at entry=0x7fffe2097dc0, flags=...) at kernel/qeventloop.cpp:204 d = 0x7fffd8007940 locker = {val = 93824995637688} #6 0x00007ffff60b1549 in QThread::exec() (this=) at thread/qthread.cpp:538 d = 0x555555893930 locker = {val = 93824995637688} eventLoop = { = {_vptr.QObject = 0x7ffff6527948 , static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x7ffff62a7cc0 "QObject", data = 0x7ffff62a7d60 , extradata = 0x7ffff6520100 }}, static staticMetaObjectExtraData = {objects = 0x0, static_metacall = 0x7ffff61dec40 }, d_ptr = {d = 0x7fffd8007940}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x7ffff62b0d40 "Qt", data = 0x7ffff62b4660 , extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x7ffff65200e0 , stringdata = 0x7ffff62ba940 "QEventLoop", data = 0x7ffff62ba960 , extradata = 0x7ffff6523420 }}, static staticMetaObjectExtraData = {objects = 0x0, static_metacall = 0x7ffff6228d40 }} returnCode = #7 0x00007ffff60b3e3c in QThreadPrivate::start(void*) (arg=0x555555a921e0) at thread/qthread_unix.cpp:352 __clframe = {__cancel_routine = 0x7ffff60b2cd0 , __cancel_arg = 0x555555a921e0, __do_it = 1, __cancel_type = } thr = 0x555555a921e0 data = 0x555555a9deb0 objectName = {static null = {}, static shared_null = {ref = {_q_value = 1}, alloc = 0, size = 0, data = 0x55555576405a , clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 4}, alloc = 0, size = 0, data = 0x7ffff65298fa , clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x555555764040 , static codecForCStrings = 0x0} #8 0x00007ffff5e217fc in start_thread (arg=0x7fffe2098700) at pthread_create.c:465 pd = 0x7fffe2098700 now = unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736985663232, -2309782713131127592, 140737488344558, 140737488344559, 140736985663232, 25, 2309718576440487128, 2309760672708898008}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} not_first_call = pagesize_m1 = sp = freesize = __PRETTY_FUNCTION__ = "start_thread" #9 0x00007ffff55b1a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 5 (Thread 0x7fffe1897700 (LWP 24756)): #0 0x00007ffff55ab929 in syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38 #1 0x00007ffff72b07ca in g_cond_wait_until () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007ffff723f2e1 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007ffff723f89c in g_async_queue_timeout_pop () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #4 0x00007ffff72930ae in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #5 0x00007ffff7292605 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #6 0x00007ffff5e217fc in start_thread (arg=0x7fffe1897700) at pthread_create.c:465 pd = 0x7fffe1897700 now = unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736977270528, -2309782713131127592, 140737488343854, 140737488343855, 140736977270528, 140736977271232, 2309717477465730264, 2309760672708898008}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} not_first_call = pagesize_m1 = sp = freesize = __PRETTY_FUNCTION__ = "start_thread" #7 0x00007ffff55b1a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 3 (Thread 0x7fffe2899700 (LWP 24754)): #0 0x00007ffff55a5831 in __GI___poll (fds=0x5555559f1c20, nfds=3, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 resultvar = 18446744073709551100 sc_cancel_oldtype = 0 #1 0x00007ffff726b129 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007ffff726b4c2 in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007fffed58aac6 in () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 #4 0x00007ffff7292605 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #5 0x00007ffff5e217fc in start_thread (arg=0x7fffe2899700) at pthread_create.c:465 pd = 0x7fffe2899700 now = unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736994055936, -2309782713131127592, 140737488341054, 140737488341055, 140736994055936, 140736994056640, 2309719677562727640, 2309760672708898008}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} not_first_call = pagesize_m1 = sp = freesize = __PRETTY_FUNCTION__ = "start_thread" #6 0x00007ffff55b1a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 2 (Thread 0x7fffe309a700 (LWP 24753)): #0 0x00007ffff55a5831 in __GI___poll (fds=0x5555559df750, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 resultvar = 18446744073709551100 sc_cancel_oldtype = 0 #1 0x00007ffff726b129 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007ffff726b23c in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007ffff726b281 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #4 0x00007ffff7292605 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #5 0x00007ffff5e217fc in start_thread (arg=0x7fffe309a700) at pthread_create.c:465 pd = 0x7fffe309a700 now = unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737002448640, -2309782713131127592, 140737488340670, 140737488340671, 140737002448640, 140737002449344, 2309720776537484504, 2309760672708898008}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} not_first_call = pagesize_m1 = sp = freesize = __PRETTY_FUNCTION__ = "start_thread" #6 0x00007ffff55b1a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 1 (Thread 0x7ffff7faa800 (LWP 24746)): #0 0x00007ffff55a5831 in __GI___poll (fds=0x555555a9e300, nfds=8, timeout=1823) at ../sysdeps/unix/sysv/linux/poll.c:29 resultvar = 18446744073709551100 sc_cancel_oldtype = 0 #1 0x00007ffff726b129 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007ffff726b23c in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007ffff61f420e in QEventDispatcherGlib::processEvents(QFlags) (this=0x555555785590, flags=...) at kernel/qeventdispatcher_glib.cpp:450 d = 0x5555557855b0 canWait = true savedFlags = {i = 0} result = #4 0x00007ffff679d666 in QGuiEventDispatcherGlib::processEvents(QFlags) (this=, flags=...) at kernel/qguieventdispatcher_glib.cpp:204 d = 0x5555557855b0 saved_flags = {i = 0} returnValue = #5 0x00007ffff61c212f in QEventLoop::processEvents(QFlags) (this=this at entry=0x7fffffffdff0, flags=...) at kernel/qeventloop.cpp:149 d = 0x555555a5f600 #6 0x00007ffff61c2495 in QEventLoop::exec(QFlags) (this=this at entry=0x7fffffffdff0, flags=...) at kernel/qeventloop.cpp:204 d = 0x555555a5f600 locker = {val = 93824994513800} #7 0x00007ffff61c8459 in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1227 threadData = 0x555555780f70 eventLoop = { = {_vptr.QObject = 0x7ffff6527948 , static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x7ffff62a7cc0 "QObject", data = 0x7ffff62a7d60 , extradata = 0x7ffff6520100 }}, static staticMetaObjectExtraData = {objects = 0x0, static_metacall = 0x7ffff61dec40 }, d_ptr = {d = 0x555555a5f600}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x7ffff62b0d40 "Qt", data = 0x7ffff62b4660 , extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x7ffff65200e0 , stringdata = 0x7ffff62ba940 "QEventLoop", data = 0x7ffff62ba960 , extradata = 0x7ffff6523420 }}, static staticMetaObjectExtraData = {objects = 0x0, static_metacall = 0x7ffff6228d40 }} returnCode = #8 0x000055555555913c in main(int, char**) (argc=1, argv=0x7fffffffe1d8) at ../main.cpp:22 a = { = { = {_vptr.QObject = 0x7ffff71e7ef0 , static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x7ffff62a7cc0 "QObject", data = 0x7ffff62a7d60 , extradata = 0x7ffff6520100 }}, static staticMetaObjectExtraData = {objects = 0x0, static_metacall = 0x7ffff61dec40 }, d_ptr = {d = 0x555555783f90}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x7ffff62b0d40 "Qt", data = 0x7ffff62b4660 , extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x7ffff65200e0 , stringdata = 0x7ffff62ba9e0 "QCoreApplication", data = 0x7ffff62baa80 , extradata = 0x7ffff6523430 }}, static staticMetaObjectExtraData = {objects = 0x0, static_metacall = 0x7ffff6228e90 }, static self = 0x0}, static staticMetaObject = {d = {superdata = 0x7ffff6527a80 , stringdata = 0x7ffff6da25a0 "QApplication", data = 0x7ffff6da27e0 , extradata = 0x7ffff71d7940 }}, static staticMetaObjectExtraData = {objects = 0x0, static_metacall = 0x7ffff66f4c40 }} w = { = { = { = {_vptr.QObject = 0x555555763490 , static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x7ffff62a7cc0 "QObject", data = 0x7ffff62a7d60 , extradata = 0x7ffff6520100 }}, static staticMetaObjectExtraData = {objects = 0x0, static_metacall = 0x7ffff61dec40 }, d_ptr = {d = 0x555555a16600}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x7ffff62b0d40 "Qt", data = 0x7ffff62b4660 , extradata = 0x0}}}, = {_vptr.QPaintDevice = 0x555555763658 , painters = 0}, static staticMetaObject = {d = {superdata = 0x7ffff65200e0 , stringdata = 0x7ffff6da6900 "QWidget", data = 0x7ffff6da6de0 , extradata = 0x7ffff71d8fc0 }}, static staticMetaObjectExtraData = {objects = 0x0, static_metacall = 0x7ffff67439a0 }, data = 0x555555a16748}, static staticMetaObject = {d = {superdata = 0x7ffff71e97e0 , stringdata = 0x7ffff6dffc60 "QMainWindow", data = 0x7ffff6dffe00 , extradata = 0x7ffff71e7850 }}, static staticMetaObjectExtraData = {objects = 0x7ffff721bf40 , static_metacall = 0x7ffff6d99050 }}, static staticMetaObject = {d = {superdata = 0x7ffff720cea0 , stringdata = 0x555555560060 "MainWindow", data = 0x55555555ff40 , extradata = 0x555555763400 }}, static staticMetaObjectExtraData = {objects = 0x0, static_metacall = 0x55555555d926 }, timer = { = {_vptr.QObject = 0x7ffff6527c48 , static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x7ffff62a7cc0 "QObject", data = 0x7ffff62a7d60 , extradata = 0x7ffff6520100 }}, static staticMetaObjectExtraData = {objects = 0x0, static_metacall = 0x7ffff61dec40 }, d_ptr = {d = 0x555555a7f010}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x7ffff62b0d40 "Qt", data = 0x7ffff62b4660 , extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x7ffff65200e0 , stringdata = 0x7ffff62bbc60 "QTimer", data = 0x7ffff62bbd00 , extradata = 0x7ffff6523480 }}, static staticMetaObjectExtraData = {objects = 0x0, static_metacall = 0x7ffff6229360 }, id = 201326593, inter = 5000, del = 0, single = 0, nulltimer = 0}, currentDir = {static null = {}, static shared_null = {ref = {_q_value = 1}, alloc = 0, size = 0, data = 0x55555576405a , clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 4}, alloc = 0, size = 0, data = 0x7ffff65298fa , clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x555555a9cb80, static codecForCStrings = 0x0}, ui = 0x555555a7e470, message = {static null = {}, static shared_null = {ref = {_q_value = 1}, alloc = 0, size = 0, data = 0x55555576405a , clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 4}, alloc = 0, size = 0, data = 0x7ffff65298fa , clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x555555764040 , static codecForCStrings = 0x0}, mqMessageManager = 0x555555a7fae0, goodSound = 0x555555a9c010, badSound = 0x555555a9c150} ---------------------------------------------------------------- On 04/10/17 17:36, Thiago Macieira wrote: > On Wednesday, 4 October 2017 08:32:03 PDT Gonzalo Aguilar Delgado wrote: >> The inferior stopped because it received a signal from the operating system. >> >> Signal name : >> >> >> >> SIGSEGV > Can you paste the backtrace from all threads when that signal happens? Right- > click the funtion stack in Qt Creator and select "Create full backtrace". If > you're directly in gdb, just type "thread apply all bt" (I don't actually need > the full, but I need a gdb trace). > -------------- next part -------------- An HTML attachment was scrubbed... URL: From kshegunov at gmail.com Wed Oct 4 17:41:55 2017 From: kshegunov at gmail.com (Konstantin Shegunov) Date: Wed, 4 Oct 2017 18:41:55 +0300 Subject: [Interest] Calling QT Class method from pthread thread In-Reply-To: References: <1c41f621-88f6-a5a3-d3f2-af17e56e6ce3@aguilardelgado.com> <6e20660c-747f-7531-603a-9fc0e1859634@aguilardelgado.com> Message-ID: On Wed, Oct 4, 2017 at 6:39 PM, Gonzalo Aguilar Delgado < gaguilar at aguilardelgado.com> wrote: > Yes it is. Because the code of the function starts to execute. In the > example the processMessage. Until the operation stops on emit and the > program crash. > emit requires you to have a valid `this` pointer, nothing before that, unless I have missed something, does - you're using only local variables. Most (if not all) compilers will still allow you to call methods with invalid objects up to the point where the object (i.e. `this`) is actually referenced. -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Wed Oct 4 17:45:00 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 4 Oct 2017 08:45:00 -0700 Subject: [Interest] QUdpSocket on Windows 10: QNetworkDatagram::destinationAddress/Port not set In-Reply-To: <145cc8c3-af78-9004-7bf5-0d080d6047ba@avibit.com> References: <2668312.qzTMrpMxPg@tjmaciei-mobl1> <145cc8c3-af78-9004-7bf5-0d080d6047ba@avibit.com> Message-ID: <2199324.xNfKEDS2Bl@tjmaciei-mobl1> On Wednesday, 4 October 2017 08:39:43 PDT Richard Öhlinger wrote: > On 10/04/2017 05:29 PM, Thiago Macieira wrote: > > If you want to file a bug report too, I'd appreciate it. > > Done QTBUG-63605. > > Thank you for looking into it. My pleasure. When it is my own code, I know exactly how to fix it. I'll try to get it done today. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From gaguilar at aguilardelgado.com Wed Oct 4 17:50:58 2017 From: gaguilar at aguilardelgado.com (Gonzalo Aguilar Delgado) Date: Wed, 4 Oct 2017 17:50:58 +0200 Subject: [Interest] Calling QT Class method from pthread thread In-Reply-To: References: <1c41f621-88f6-a5a3-d3f2-af17e56e6ce3@aguilardelgado.com> <6e20660c-747f-7531-603a-9fc0e1859634@aguilardelgado.com> Message-ID: <84de9cbe-e299-fb01-26b1-025644b729c3@aguilardelgado.com> Hi Konstantin, That's something I was not aware of. So it's the best clue I heard today. Oh men!!! You are sooooo great.... My Class address is 55a7ebe0 Received Class address is d15dddf0 Do you think that registering the address using this pointer here is wrong? Or it's just that there's a bug on the library that's passing me that value? if(!sg64_zeromq_register_handler(mqsubscriber, callbackWrapper, *this*, &error)){ Best regards, On 04/10/17 17:41, Konstantin Shegunov wrote: > On Wed, Oct 4, 2017 at 6:39 PM, Gonzalo Aguilar Delgado > > wrote: > > Yes it is. Because the code of the function starts to execute. In > the example the processMessage. Until the operation stops on emit > and the program crash. > > emit requires you to have a valid `this` pointer, nothing before that, > unless I have missed something, does - you're using only local > variables. Most (if not all) compilers will still allow you to call > methods with invalid objects up to the point where the object (i.e. > `this`) is actually referenced. -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Wed Oct 4 17:57:07 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 4 Oct 2017 08:57:07 -0700 Subject: [Interest] Calling QT Class method from pthread thread In-Reply-To: References: <1c41f621-88f6-a5a3-d3f2-af17e56e6ce3@aguilardelgado.com> <1572201.tnkmbYu1pK@tjmaciei-mobl1> Message-ID: <11423208.8rJOBTtZoQ@tjmaciei-mobl1> On Wednesday, 4 October 2017 08:41:32 PDT Gonzalo Aguilar Delgado wrote: > Hello Thiago, > > Hope you can see something... Thanks. Did you also run this under valgrind? Maybe using a prelinker? Some pointers are funny. > #0 0x00007ffff61d7cec in QMetaObject::activate(QObject*, QMetaObject > const*, int, void**) (sender=0x7fffd15dddf0, m=, > local_signal_index=, argv=) at > kernel/qobject.cpp:3513 The "this" pointer passes the smell detection: it's an address on a thread's stack (unlikely to be the main thread) or a thread's memory pool and is aligned to 16. > #1 0x000055555555ea29 in MQMessageManager::cardValidationSuccess() > (this=0x7fffd15dddf0) at moc_mqmessagemanager.cpp:134 > #2 0x000055555555d785 in MQMessageManager::processMessage(_SG64ZeroMQ*, > _ThriftStruct*, _GError**) (this=0x7fffd15dddf0, mq=0x555555a59d40, > message=0x7fffd400f380, error=0x555555a59d40) at ../mqmessagemanager.cpp:114 Those pointers starting with lots of 5 are the funny ones I mentioned. > array = {static shared_null = {ref = {_q_value = 299}, alloc = 0, size = 0, > data = 0x7ffff65297b8 "", array = ""}, static > shared_empty = {ref = {_q_value = 3}, alloc = 0, size = 0, data = > 0x7ffff6529798 "", array = ""}, d = > 0x7fffc00049c0} This variable is wrong. The shared_null in Qt 5 has a counter always equal to 0. It should never grow from it, so 299 and 3 are definitely wrong. The debugging information is coming from Qt 4 because of the presence of "array" member. You're either using Qt 4 or you're mixing Qt 4 and Qt 5 in the same aplication. I'm going to stop here until you confirm you're only using Qt 5 (minimum 5.6). I'm not going to support a Qt 4 application. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From kshegunov at gmail.com Wed Oct 4 18:07:38 2017 From: kshegunov at gmail.com (Konstantin Shegunov) Date: Wed, 4 Oct 2017 19:07:38 +0300 Subject: [Interest] Calling QT Class method from pthread thread In-Reply-To: <84de9cbe-e299-fb01-26b1-025644b729c3@aguilardelgado.com> References: <1c41f621-88f6-a5a3-d3f2-af17e56e6ce3@aguilardelgado.com> <6e20660c-747f-7531-603a-9fc0e1859634@aguilardelgado.com> <84de9cbe-e299-fb01-26b1-025644b729c3@aguilardelgado.com> Message-ID: On Wed, Oct 4, 2017 at 6:50 PM, Gonzalo Aguilar Delgado < gaguilar at aguilardelgado.com> wrote: > Hi Konstantin, > > That's something I was not aware of. > You're explicitly casting an opaque to an object pointer, and there can be literally anything behind that address, the compiler has no way of knowing what exactly. > Do you think that registering the address using this pointer here is > wrong? > I have no way of answering this. I don't know what library you're using and how you're supposed to pass context along with the object if at all. You should consult the library's documentation. It may wrap the pointer you pass it in an object of its own, and give you that in the call back, I can't tell. > Or it's just that there's a bug on the library that's passing me that > value? > Possible, although I'd bet against it. Check the docs and see what the callback parameter is supposed to be, then act on it accordingly. -------------- next part -------------- An HTML attachment was scrubbed... URL: From gaguilar at aguilardelgado.com Wed Oct 4 18:24:03 2017 From: gaguilar at aguilardelgado.com (Gonzalo Aguilar Delgado) Date: Wed, 4 Oct 2017 18:24:03 +0200 Subject: [Interest] Calling QT Class method from pthread thread In-Reply-To: <11423208.8rJOBTtZoQ@tjmaciei-mobl1> References: <1c41f621-88f6-a5a3-d3f2-af17e56e6ce3@aguilardelgado.com> <1572201.tnkmbYu1pK@tjmaciei-mobl1> <11423208.8rJOBTtZoQ@tjmaciei-mobl1> Message-ID: Thiago, Konstantin, You are both great. Indeed the problem was that pesky pointer. It's so bizarre that it happened to me... Soo long. There's something I was aware but didn't really realized. Indeed Konstantin when I made the pointer a static cast to the class, it doesn't matter what goes in the pointer. Because (as can be seen in glib clearly) the class definition (methods) and the class data are held apart. And the pointer is referencing the class data. So the method can be executed even if the pointer is pointer to invalid address as Thiago pointed me out. For example in Glib they have in their library a runtime type checking that will warn about this kind of issues. This and because the function executed I discarded that error at the begining. I was expecting a segfault error if the pointer was wrong. It also gcc didn't warned be that the function definition of the callback didn't matched the specification. static gboolean callbackWrapper(SG64ZeroMQ* mq, ThriftStruct* message, gpointer data, GError **error) { In my case it was defined by error to typedef gboolean (*SG64ZeroMQHandler)(SG64ZeroMQ* mq, ThriftStruct* message, GError **error); instead typedef gboolean (*SG64ZeroMQHandler)(SG64ZeroMQ* mq, ThriftStruct* message, gpointer data, GError **error); That alone caused all the troubles. I fixed the pointer and now everything is working nicely!!! Oh men. So much reading and testing and the solution was in front of my eyes. Thank you both guys. I owe you one! On 04/10/17 17:57, Thiago Macieira wrote: > On Wednesday, 4 October 2017 08:41:32 PDT Gonzalo Aguilar Delgado wrote: >> Hello Thiago, >> >> Hope you can see something... > Thanks. > > Did you also run this under valgrind? Maybe using a prelinker? Some pointers > are funny. > >> #0 0x00007ffff61d7cec in QMetaObject::activate(QObject*, QMetaObject >> const*, int, void**) (sender=0x7fffd15dddf0, m=, >> local_signal_index=, argv=) at >> kernel/qobject.cpp:3513 > The "this" pointer passes the smell detection: it's an address on a thread's > stack (unlikely to be the main thread) or a thread's memory pool and is > aligned to 16. > >> #1 0x000055555555ea29 in MQMessageManager::cardValidationSuccess() >> (this=0x7fffd15dddf0) at moc_mqmessagemanager.cpp:134 >> #2 0x000055555555d785 in MQMessageManager::processMessage(_SG64ZeroMQ*, >> _ThriftStruct*, _GError**) (this=0x7fffd15dddf0, mq=0x555555a59d40, >> message=0x7fffd400f380, error=0x555555a59d40) at ../mqmessagemanager.cpp:114 > Those pointers starting with lots of 5 are the funny ones I mentioned. > >> array = {static shared_null = {ref = {_q_value = 299}, alloc = 0, size = 0, >> data = 0x7ffff65297b8 "", array = ""}, static >> shared_empty = {ref = {_q_value = 3}, alloc = 0, size = 0, data = >> 0x7ffff6529798 "", array = ""}, d = >> 0x7fffc00049c0} > This variable is wrong. The shared_null in Qt 5 has a counter always equal to > 0. It should never grow from it, so 299 and 3 are definitely wrong. The > debugging information is coming from Qt 4 because of the presence of "array" > member. > > You're either using Qt 4 or you're mixing Qt 4 and Qt 5 in the same > aplication. I'm going to stop here until you confirm you're only using Qt 5 > (minimum 5.6). I'm not going to support a Qt 4 application. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Wed Oct 4 18:25:44 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 4 Oct 2017 09:25:44 -0700 Subject: [Interest] Calling QT Class method from pthread thread In-Reply-To: <11423208.8rJOBTtZoQ@tjmaciei-mobl1> References: <1c41f621-88f6-a5a3-d3f2-af17e56e6ce3@aguilardelgado.com> <11423208.8rJOBTtZoQ@tjmaciei-mobl1> Message-ID: <2781106.MUax3FAikP@tjmaciei-mobl1> On Wednesday, 4 October 2017 08:57:07 PDT Thiago Macieira wrote: > This variable is wrong. The shared_null in Qt 5 has a counter always equal > to 0. It should never grow from it, so 299 and 3 are definitely wrong. The > debugging information is coming from Qt 4 because of the presence of > "array" member. Actually, the counter in the QArrayData::shared_null is -1, not 0. A refcount of 0 has a different meaning. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From thiago.macieira at intel.com Wed Oct 4 18:30:46 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 4 Oct 2017 09:30:46 -0700 Subject: [Interest] Calling QT Class method from pthread thread In-Reply-To: References: <1c41f621-88f6-a5a3-d3f2-af17e56e6ce3@aguilardelgado.com> <11423208.8rJOBTtZoQ@tjmaciei-mobl1> Message-ID: <20372221.4B8Jar3ZM4@tjmaciei-mobl1> On Wednesday, 4 October 2017 09:24:03 PDT Gonzalo Aguilar Delgado wrote: > typedef gboolean (*SG64ZeroMQHandler)(SG64ZeroMQ* mq, ThriftStruct* > message, GError **error); > > instead > > typedef gboolean (*SG64ZeroMQHandler)(SG64ZeroMQ* mq, ThriftStruct* > message, gpointer data, GError **error); It would have, if you hadn't explicitly cast the difference away. A lot of Glib-using code does that because of GCallback and G_CALLBACK. Avoid those like the plague, except for functions that really take no arguments and return void. Any other use is flawed by design. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From gaguilar at aguilardelgado.com Wed Oct 4 18:35:33 2017 From: gaguilar at aguilardelgado.com (Gonzalo Aguilar Delgado) Date: Wed, 4 Oct 2017 18:35:33 +0200 Subject: [Interest] Calling QT Class method from pthread thread In-Reply-To: <20372221.4B8Jar3ZM4@tjmaciei-mobl1> References: <1c41f621-88f6-a5a3-d3f2-af17e56e6ce3@aguilardelgado.com> <11423208.8rJOBTtZoQ@tjmaciei-mobl1> <20372221.4B8Jar3ZM4@tjmaciei-mobl1> Message-ID: Thiago, I should say that even with my error causing me havok of hours destroyed. The callback way is good enough to be used, I don't know why you say "Any other use is flawed by design". But that's another discussion. I think you gave great insights of the Framework, debugging and where to look where something goes wrong. I really appreciate it. Best regards, On 04/10/17 18:30, Thiago Macieira wrote: > On Wednesday, 4 October 2017 09:24:03 PDT Gonzalo Aguilar Delgado wrote: >> typedef gboolean (*SG64ZeroMQHandler)(SG64ZeroMQ* mq, ThriftStruct* >> message, GError **error); >> >> instead >> >> typedef gboolean (*SG64ZeroMQHandler)(SG64ZeroMQ* mq, ThriftStruct* >> message, gpointer data, GError **error); > It would have, if you hadn't explicitly cast the difference away. A lot of > Glib-using code does that because of GCallback and G_CALLBACK. > > Avoid those like the plague, except for functions that really take no > arguments and return void. Any other use is flawed by design. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Wed Oct 4 20:04:06 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 4 Oct 2017 11:04:06 -0700 Subject: [Interest] Calling QT Class method from pthread thread In-Reply-To: <20372221.4B8Jar3ZM4@tjmaciei-mobl1> References: <1c41f621-88f6-a5a3-d3f2-af17e56e6ce3@aguilardelgado.com> <20372221.4B8Jar3ZM4@tjmaciei-mobl1> Message-ID: <18844790.f854FaYfQ1@tjmaciei-mobl1> On Wednesday, 4 October 2017 09:30:46 PDT Thiago Macieira wrote: > It would have, if you hadn't explicitly cast the difference away. A lot of > Glib-using code does that because of GCallback and G_CALLBACK. > > Avoid those like the plague, except for functions that really take no > arguments and return void. Any other use is flawed by design. In other words, the only place you should use G_CALLBACK is where you don't need to use it. If your code compiles without G_CALLBACK, it is correct. If you needed G_CALLBACK, then you might have hid a problem from the compiler. In other words, anywhere where you need G_CALLBACK is a flawed design. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From adib.hannachi1 at gmail.com Thu Oct 5 10:30:11 2017 From: adib.hannachi1 at gmail.com (Adib HANNACHI) Date: Thu, 5 Oct 2017 09:30:11 +0100 Subject: [Interest] Consummation memory with QtQuick Compiler Message-ID: Hi all, We intend to use QT5.9/QML in our commercial application, however we are worried about the memory consumption. I read about QtQuick Compiler introduced in QT 5.8 which allows to compile QML source code into the final binary. I wonder about the effect of QtQuick Compiler in commercial versions? did it bring a performance in memory consumption? Is there an example of a commercial application before and after using QtQuick Compiler? Kindely , Adib -- *Adib HANNACHI* Software Engineer, (+216) 52 55 04 96 <%28216%29+52+550+496> | adib.hannachi.tn at gmail.com | Bizerte, Tunisie -------------- next part -------------- An HTML attachment was scrubbed... URL: From sierdzio at gmail.com Thu Oct 5 10:32:48 2017 From: sierdzio at gmail.com (Tomasz Siekierda) Date: Thu, 5 Oct 2017 10:32:48 +0200 Subject: [Interest] Consummation memory with QtQuick Compiler In-Reply-To: References: Message-ID: On 5 October 2017 at 10:30, Adib HANNACHI wrote: > > Hi all, > > We intend to use QT5.9/QML in our commercial application, however we are worried about the memory consumption. I read about QtQuick Compiler introduced in QT 5.8 which allows to compile QML source code into the final binary. I wonder about the effect of QtQuick Compiler in commercial versions? did it bring a performance in memory consumption? Is there an example of a commercial application before and after using QtQuick Compiler? Hi. Qt Company has written a nice blog post about memory and performance improvements between Qt 5.6 and 5.9. You can read it here http://blog.qt.io/blog/2017/05/31/performance-improvements-with-qt-5-9-lts/ From sierdzio at gmail.com Thu Oct 5 10:44:39 2017 From: sierdzio at gmail.com (Tomasz Siekierda) Date: Thu, 5 Oct 2017 10:44:39 +0200 Subject: [Interest] Consummation memory with QtQuick Compiler In-Reply-To: References: Message-ID: Adding the list back to CC. On 5 October 2017 at 10:38, Adib HANNACHI wrote: > Thank you Tomasz . > > My QT application consume about 120 MB in Linux , it's huge memory > comparing a QT application with QWidget . We wonder if we use the > commercial version of QT ,the memory will decrease . > It won't magically decrease just by using commercial license. Analyze what consumes so much memory (well, in today's times 120MB is not a lot), because a simple QtQuick app usually consumes 10-35 MB. So I suspect the reason why it consumes much more in your case is on your side, not Qt's. How do you measure the consumption, by the way? > > 2017-10-05 9:32 GMT+01:00 Tomasz Siekierda : > >> On 5 October 2017 at 10:30, Adib HANNACHI >> wrote: >> > >> > Hi all, >> > >> > We intend to use QT5.9/QML in our commercial application, however we >> are worried about the memory consumption. I read about QtQuick Compiler >> introduced in QT 5.8 which allows to compile QML source code into the final >> binary. I wonder about the effect of QtQuick Compiler in commercial >> versions? did it bring a performance in memory consumption? Is there an >> example of a commercial application before and after using QtQuick Compiler? >> >> Hi. Qt Company has written a nice blog post about memory and >> performance improvements between Qt 5.6 and 5.9. You can read it here >> http://blog.qt.io/blog/2017/05/31/performance-improvements- >> with-qt-5-9-lts/ >> > > > > -- > > > *Adib HANNACHI* > Software Engineer, > (+216) 52 55 04 96 <%28216%29+52+550+496> | adib.hannachi.tn at gmail.com | Bizerte, > Tunisie > > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gaguilar at aguilardelgado.com Thu Oct 5 11:42:55 2017 From: gaguilar at aguilardelgado.com (Gonzalo Aguilar Delgado) Date: Thu, 5 Oct 2017 11:42:55 +0200 Subject: [Interest] Calling QT Class method from pthread thread In-Reply-To: <18844790.f854FaYfQ1@tjmaciei-mobl1> References: <1c41f621-88f6-a5a3-d3f2-af17e56e6ce3@aguilardelgado.com> <20372221.4B8Jar3ZM4@tjmaciei-mobl1> <18844790.f854FaYfQ1@tjmaciei-mobl1> Message-ID: Hi Thiago, Ah, I tottally agree, then. I will stop this thread. Because even if it's very interesting is turning a little bit off-topic. If you are in IRC we can talk since I'm very interested in this kind of design rules. Best regard And thank you a lot! On 04/10/17 20:04, Thiago Macieira wrote: > On Wednesday, 4 October 2017 09:30:46 PDT Thiago Macieira wrote: >> It would have, if you hadn't explicitly cast the difference away. A lot of >> Glib-using code does that because of GCallback and G_CALLBACK. >> >> Avoid those like the plague, except for functions that really take no >> arguments and return void. Any other use is flawed by design. > In other words, the only place you should use G_CALLBACK is where you don't > need to use it. If your code compiles without G_CALLBACK, it is correct. If > you needed G_CALLBACK, then you might have hid a problem from the compiler. > > In other words, anywhere where you need G_CALLBACK is a flawed design. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From paul.lemire at kdab.com Thu Oct 5 11:46:05 2017 From: paul.lemire at kdab.com (Paul Lemire) Date: Thu, 5 Oct 2017 11:46:05 +0200 Subject: [Interest] Strange visibility problem after updating entities in Qt3D In-Reply-To: <013401d33d15$fdeef5a0$f9cce0e0$@gmail.com> References: <012e01d33c5b$2004eac0$600ec040$@gmail.com> <013401d33d15$fdeef5a0$f9cce0e0$@gmail.com> Message-ID: Hi Helmut, In Qt3D there is the scene tree called the SceneGraph and in QRenderSettings you can specify another tree called the FrameGraph. The FrameGraph basically configures the renderer to match your needs. In your case what you would need is to: Create 2 layers QLayer *railsLayer; QLayer *defectsLayers; For each Entity of your scene, add as a component either railsLayer or defectsLayer depending on what the Entity represents. Then the FrameGraph would have to do 1) Render all the entities which have railsLayer as a layer 2) Render all the entities which have defectsLayer as a layer auto* renderSettings= newQt3DRender::QRenderSettings(); auto* viewport= newQt3DRender::QViewport(); viewport->setNormalizedRect(QRectF(0.0f, 0.0f, 1.0f, 1.0f)); auto* renderSurfaceSelector= newQt3DRender::QRenderSurfaceSelector(viewport); auto* cameraSelector= newQt3DRender::QCameraSelector(renderSurfaceSelector); cameraSelector->setCamera(camera); // All of the above will be common to the two branches // Branch 1 needs to clear the screen and render all entities with layer railsLayer auto* clearBuffer= newQt3DRender::QClearBuffers(cameraSelector); clearBuffer->setBuffers(Qt3DRender::QClearBuffers::ColorDepthStencilBuffer); clearBuffer->setClearColor("#EEEEEE"); auto* layerFilterRails= newQt3DRender::QLayerFilter(clearBuffer); layerFilterRails->addLayer(railsLayer); // Branch 2 needs to render all entities with layer defectsLayer auto* layerFilterDefects= newQt3DRender::QLayerFilter(cameraSelector); layerFilterDefects->addLayer(defectsLayers); It's easier to visualize in QML RenderSettings {     frameGraph: Viewport {         RenderSurfaceSelector {             CameraSelector {                             // Branch 1                 ClearBuffers {                     buffers: ClearBuffers.ColorDepthBuffer                     LayerFilter { layers: railsLayer }                 }                 // Branch 2                 LayerFilter { layers: defectsLayer }             }         }     } } Hopefully that answers your questions, Paul     On 10/04/2017 03:37 PM, Helmut Mülner wrote: > > Hi Paul, > >   > > thank you for your tips, I think you diagnosed the problem correctly. > >   > > *Von:*paul.lemire [mailto:paul.lemire] *Im Auftrag von *Paul Lemire > *Gesendet:* Mittwoch, 4. Oktober 2017 07:05 > >  […] > > Now I want to show another rail (it may have fewer or more parts) > and another set of defects. > > The view from the side looks good (see rail2.jpg). > > But if I tilt the view, the visibility of the first two boxes is > wrong. > > […] > > Did you specify a custom FrameGraph in QRenderSettings? > > No. > > > What I think is happening is that sometimes the drawing order is > correct, sometimes it's not. So you end up in cases where the > RailDefect are drawn before the RailParts which would explain the issue. > In Qt3D, when using the default provided FrameGraph the drawing order > isn't defined by the position in which an Entity is in the tree > hierarchy of the scene. > >   > > I obviously misinterpreted this information from the „Qt 3D Render > Framegraph” documentation: > >   > > The Qt 3D renderer performs a /depth first traversal/ of the > framegraph tree. Note that, because the traversal is depth first, the > /order in which you define nodes is important/. > > > You can control that drawing order by having a custom FrameGraph tree > and using the elements QLayer and QLayerFilter. > You would basically need to have a QLayer for the rail, a QLayer for > the defects. Then in your FrameGraph you would first have a branch > with a QLayerFilter that selects entities with the layer for the rail, > then a second branch which would select entities with the defect > layer. That way you will be sure that at all times the rail is > rendered first, followed by the defects. > >   > > You lost me here. > > I have this code (copied from somewhere without understanding it fully): > >   > > voidRailEntityPrivate::initEntity() > > { > >     Q_Q(RailEntity); > >     auto* renderSettings= newQt3DRender::QRenderSettings(); > >     auto* viewport= newQt3DRender::QViewport(); > >     viewport->setNormalizedRect(QRectF(0.0f, 0.0f, 1.0f, 1.0f)); > >     auto* renderSurfaceSelector= > newQt3DRender::QRenderSurfaceSelector(viewport); > >     auto* layerFilter= newQt3DRender::QLayerFilter(renderSurfaceSelector); > >     layerFilter->setEnabled(false); > >     auto* cameraSelector= newQt3DRender::QCameraSelector(layerFilter); > >     cameraSelector->setCamera(camera); > >   > >     auto* clearBuffer= newQt3DRender::QClearBuffers(cameraSelector); > >     > clearBuffer->setBuffers(Qt3DRender::QClearBuffers::ColorDepthStencilBuffer); > >     clearBuffer->setClearColor("#EEEEEE"); > >   > >   > >     renderSettings->setActiveFrameGraph(viewport); > >     q->addComponent(renderSettings); > >     camera->setPosition(QVector3D(0.0f, 5.0f, 0.0f) +QVector3D(-25.0f, > 0.0f, 0.0f)); > >     camera->setViewCenter(QVector3D(0.0f, 0.0f, 0.0f)); > >     camera->setUpVector(QVector3D(0.0f, 1.0f, 0.0f)); > >     camera->setFarPlane(2000.0f); > >     autocamController= newQt3DExtras::QOrbitCameraController(q); > >     camController->setLinearSpeed(300.0f); > >     camController->setLookSpeed(180.0f); > >     camController->setCamera(camera); > >     > renderSettings->pickingSettings()->setPickMethod(Qt3DRender::QPickingSettings::TrianglePicking); > >     autoobjectPicker= newQt3DRender::QObjectPicker(q); > >     q->addComponent(objectPicker); > >     QObject::connect(objectPicker, > &Qt3DRender::QObjectPicker::clicked, q, &RailEntity::onClicked); > >     railParts= newQt3DCore::QEntity(q); > >     railDefects= newQt3DCore::QEntity(q); > > } > >   > > I studied the (minimal) Qt3D documentation, the tests and the examples > but could not find how to do this. I have the feeling that the Qt3d > documentation and reference material assumes that the user already is > an OpenGL expert. I am an experienced C++ and Qt developer but > relatively new to OpenGL and Qt3D. > >   > > My remaining problems: > > - How do I define a custom FrameGraph tree? > > - Do I need a QLayerFilter for each layer? > > - How do I define a branch in the FrameGraph? > >   > > I tried to add this to the end of initEntity(): > >   > >     partsLayer= new  Qt3DRender::QLayer(railParts); > >     partsLayer->setRecursive(true); > >     railParts->addComponent(partsLayer); > >     defectsLayer= new  Qt3DRender::QLayer(railDefects); > >     defectsLayer->setRecursive(true); > >     railDefects->addComponent(partsLayer); > >     layerFilter->addLayer(partsLayer); > >     layerFilter->addLayer(defectsLayer); > >   > > Now I get a Windows error message after starting the program: entry > point missing in DLL: createNodeCreationChange... > > I am using Qt 5.9.1 prebuilt msvc2017_64. > > >   > > To update the scene I remove all Rail.* entities and insert the > new ones. > >   > > These are the relevant parts of this code: > >   > > voiddeleteChildrenRecursively(constQt3DCore::QNodeVector& vector) > > { > >     Qt3DCore::QNode* nullParent= nullptr; > >     for(auto* node: vector) { > >         auto* entity= dynamic_cast(node); > > qobject_cast would be more appropriate here > If you set the parenting correctly on your elements, you should be > able to delete only the parent of all the entities you want to delete > which would take care of doing the recursive deletion automatically > for you. > You may want to add another Entity just for that purpose of grouping > your rail parts. > […] > > I know that (have written Qt  programs since Qt-2.3.2), I just wanted > to be sure the effect did not come from some left-over nodes in the > framegraph > >   > > Cheers, > > Helmut > >   > -- Paul Lemire | paul.lemire at kdab.com | Senior Software Engineer KDAB (France) S.A.S., a KDAB Group company Tel: France +33 (0)4 90 84 08 53, http://www.kdab.fr KDAB - The Qt, C++ and OpenGL Experts -------------- next part -------------- An HTML attachment was scrubbed... URL: From mitch.curtis at qt.io Thu Oct 5 12:01:18 2017 From: mitch.curtis at qt.io (Mitch Curtis) Date: Thu, 5 Oct 2017 10:01:18 +0000 Subject: [Interest] Unable to do Valgrind Memory Analyzer on i.MX6Q target In-Reply-To: <986519C39291F34C886B1EBB543F29635650C678@MBCHN01.chn.nestgroup.net> References: <986519C39291F34C886B1EBB543F29635650C678@MBCHN01.chn.nestgroup.net> Message-ID: I don't know if this applies to embedded targets, but did you accidentally change the "Base environment for this run configuration" in Creator? Go to Projects > Build & Run > Run Environment and check which value the combobox has; it should probably say "Build Environment", which is the default. Sometimes I accidentally mouse wheel over it when I'm scrolling down and it selects e.g. "Clean Environment", causing the application to fail to start because it's missing a bunch of environment variables. The error about the display in particular seems kinda familiar. From: Interest [mailto:interest-bounces+mitch.curtis=qt.io at qt-project.org] On Behalf Of Abin Joseph Sent: Wednesday, 6 September 2017 8:27 AM To: interest at qt-project.org Subject: [Interest] Unable to do Valgrind Memory Analyzer on i.MX6Q target Hi, I am trying to do valgrind memory analysis with Qt Creator on iMX6Q board. I am able to run the application from Qt creator and also able to run application from terminal using command /opt/HelloWorld -platform wayland I have valgrind in my target board, and if I run valgrind -v /opt/HelloWorld -platform wayland, it gives me whole logs which are so difficult to trace out the exact errors. But still application launches. But if I click Analyze->Valgrind Memory Analyzer on Qt Creator, it gives me error and the application does not launch. If I do not give any run time arguments I get the error: Analyzing memory of /opt/HelloWorld QML debugging is enabled. Only use this in a safe environment. This application failed to start because it could not find or load the Qt platform plugin "xcb" in "". Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, wayland-egl, wayland. Reinstalling the application may fix this problem. Analyzing finished. ** Process killed by signal ** If I do not give any run time arguments -platform wayland, I get the error: Analyzing memory of /opt/HelloWorld QML debugging is enabled. Only use this in a safe environment. Failed to create display (No such file or directory) Analyzing finished. ** Unknown error ** Is there something I am missing to run valgrind memory analysis on iMx6Q board? With Regards, Abin Joseph ________________________________ Confidentiality Statement / Disclaimer : This message and any attachments is intended for the sole use of the intended recipient. It may contain confidential information. Any unauthorized use, dissemination or modification is strictly prohibited. If you are not the intended recipient, please notify the sender immediately then delete it from all your systems, and do not copy, use or print. Internet communications are not secure and it is the responsibility of the recipient to make sure that it is virus/malicious code exempt. The company/sender cannot be responsible for any unauthorized alterations or modifications made to the contents. If you require any form of confirmation of the contents, please contact the company/sender. The company/sender is not liable for any errors or omissions in the content of this message. ________________________________ -------------- next part -------------- An HTML attachment was scrubbed... URL: From mitch.curtis at qt.io Thu Oct 5 12:08:23 2017 From: mitch.curtis at qt.io (Mitch Curtis) Date: Thu, 5 Oct 2017 10:08:23 +0000 Subject: [Interest] Unable to do Valgrind Memory Analyzer on i.MX6Q target In-Reply-To: References: <986519C39291F34C886B1EBB543F29635650C678@MBCHN01.chn.nestgroup.net> Message-ID: There's also a bug with Valgrind that was fixed recently, but I doubt it's related: https://bugreports.qt.io/browse/QTCREATORBUG-19004 From: Interest [mailto:interest-bounces+mitch.curtis=qt.io at qt-project.org] On Behalf Of Mitch Curtis Sent: Thursday, 5 October 2017 12:01 PM To: Abin Joseph ; interest at qt-project.org Subject: Re: [Interest] Unable to do Valgrind Memory Analyzer on i.MX6Q target I don't know if this applies to embedded targets, but did you accidentally change the "Base environment for this run configuration" in Creator? Go to Projects > Build & Run > Run Environment and check which value the combobox has; it should probably say "Build Environment", which is the default. Sometimes I accidentally mouse wheel over it when I'm scrolling down and it selects e.g. "Clean Environment", causing the application to fail to start because it's missing a bunch of environment variables. The error about the display in particular seems kinda familiar. From: Interest [mailto:interest-bounces+mitch.curtis=qt.io at qt-project.org] On Behalf Of Abin Joseph Sent: Wednesday, 6 September 2017 8:27 AM To: interest at qt-project.org Subject: [Interest] Unable to do Valgrind Memory Analyzer on i.MX6Q target Hi, I am trying to do valgrind memory analysis with Qt Creator on iMX6Q board. I am able to run the application from Qt creator and also able to run application from terminal using command /opt/HelloWorld -platform wayland I have valgrind in my target board, and if I run valgrind -v /opt/HelloWorld -platform wayland, it gives me whole logs which are so difficult to trace out the exact errors. But still application launches. But if I click Analyze->Valgrind Memory Analyzer on Qt Creator, it gives me error and the application does not launch. If I do not give any run time arguments I get the error: Analyzing memory of /opt/HelloWorld QML debugging is enabled. Only use this in a safe environment. This application failed to start because it could not find or load the Qt platform plugin "xcb" in "". Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, wayland-egl, wayland. Reinstalling the application may fix this problem. Analyzing finished. ** Process killed by signal ** If I do not give any run time arguments -platform wayland, I get the error: Analyzing memory of /opt/HelloWorld QML debugging is enabled. Only use this in a safe environment. Failed to create display (No such file or directory) Analyzing finished. ** Unknown error ** Is there something I am missing to run valgrind memory analysis on iMx6Q board? With Regards, Abin Joseph ________________________________ Confidentiality Statement / Disclaimer : This message and any attachments is intended for the sole use of the intended recipient. It may contain confidential information. Any unauthorized use, dissemination or modification is strictly prohibited. If you are not the intended recipient, please notify the sender immediately then delete it from all your systems, and do not copy, use or print. Internet communications are not secure and it is the responsibility of the recipient to make sure that it is virus/malicious code exempt. The company/sender cannot be responsible for any unauthorized alterations or modifications made to the contents. If you require any form of confirmation of the contents, please contact the company/sender. The company/sender is not liable for any errors or omissions in the content of this message. ________________________________ -------------- next part -------------- An HTML attachment was scrubbed... URL: From helmut.muelner at gmail.com Thu Oct 5 13:41:39 2017 From: helmut.muelner at gmail.com (=?iso-8859-1?Q?Helmut_M=FClner?=) Date: Thu, 5 Oct 2017 13:41:39 +0200 Subject: [Interest] Strange visibility problem after updating entities in Qt3D In-Reply-To: References: <012e01d33c5b$2004eac0$600ec040$@gmail.com> <013401d33d15$fdeef5a0$f9cce0e0$@gmail.com> Message-ID: <010a01d33dce$e9355460$bb9ffd20$@gmail.com> Hi Paul, thank you very much for your help – updates of my defects work finally. I also understand now why Qt 5.10 introduced the “recursive” property for layers ;-) A simplified version of this code would give a fine example for the QLayer documentation. BTW this documentation has some namespace problems since 5.9. I hope to be able to attend the Qt world summit next year, so I can buy you a beer etc. Big Thanks, Helmut Von: paul.lemire [mailto:paul.lemire] Im Auftrag von Paul Lemire Gesendet: Donnerstag, 5. Oktober 2017 11:46 An: Helmut Mülner ; interest at qt-project.org Betreff: Re: AW: [Interest] Strange visibility problem after updating entities in Qt3D Hi Helmut, In Qt3D there is the scene tree called the SceneGraph and in QRenderSettings you can specify another tree called the FrameGraph. The FrameGraph basically configures the renderer to match your needs. In your case what you would need is to: Create 2 layers QLayer *railsLayer; QLayer *defectsLayers; For each Entity of your scene, add as a component either railsLayer or defectsLayer depending on what the Entity represents. Then the FrameGraph would have to do 1) Render all the entities which have railsLayer as a layer 2) Render all the entities which have defectsLayer as a layer auto* renderSettings = new Qt3DRender::QRenderSettings(); auto* viewport = new Qt3DRender::QViewport(); viewport->setNormalizedRect(QRectF(0.0f, 0.0f, 1.0f, 1.0f)); auto* renderSurfaceSelector = new Qt3DRender::QRenderSurfaceSelector(viewport); auto* cameraSelector = new Qt3DRender::QCameraSelector(renderSurfaceSelector); cameraSelector->setCamera(camera); // All of the above will be common to the two branches // Branch 1 needs to clear the screen and render all entities with layer railsLayer auto* clearBuffer = new Qt3DRender::QClearBuffers(cameraSelector); clearBuffer->setBuffers(Qt3DRender::QClearBuffers::ColorDepthStencilBuffer); clearBuffer->setClearColor("#EEEEEE"); auto* layerFilterRails = new Qt3DRender::QLayerFilter(clearBuffer); layerFilterRails->addLayer(railsLayer); // Branch 2 needs to render all entities with layer defectsLayer auto* layerFilterDefects = new Qt3DRender::QLayerFilter(cameraSelector); layerFilterDefects->addLayer(defectsLayers); It's easier to visualize in QML RenderSettings { frameGraph: Viewport { RenderSurfaceSelector { CameraSelector { // Branch 1 ClearBuffers { buffers: ClearBuffers.ColorDepthBuffer LayerFilter { layers: railsLayer } } // Branch 2 LayerFilter { layers: defectsLayer } } } } } Hopefully that answers your questions, Paul On 10/04/2017 03:37 PM, Helmut Mülner wrote: Hi Paul, thank you for your tips, I think you diagnosed the problem correctly. Von: paul.lemire [mailto:paul.lemire] Im Auftrag von Paul Lemire Gesendet: Mittwoch, 4. Oktober 2017 07:05 [ ] Now I want to show another rail (it may have fewer or more parts) and another set of defects. The view from the side looks good (see rail2.jpg). But if I tilt the view, the visibility of the first two boxes is wrong. [ ] Did you specify a custom FrameGraph in QRenderSettings? No. What I think is happening is that sometimes the drawing order is correct, sometimes it's not. So you end up in cases where the RailDefect are drawn before the RailParts which would explain the issue. In Qt3D, when using the default provided FrameGraph the drawing order isn't defined by the position in which an Entity is in the tree hierarchy of the scene. I obviously misinterpreted this information from the „Qt 3D Render Framegraph” documentation: The Qt 3D renderer performs a depth first traversal of the framegraph tree. Note that, because the traversal is depth first, the order in which you define nodes is important. You can control that drawing order by having a custom FrameGraph tree and using the elements QLayer and QLayerFilter. You would basically need to have a QLayer for the rail, a QLayer for the defects. Then in your FrameGraph you would first have a branch with a QLayerFilter that selects entities with the layer for the rail, then a second branch which would select entities with the defect layer. That way you will be sure that at all times the rail is rendered first, followed by the defects. You lost me here. I have this code (copied from somewhere without understanding it fully): void RailEntityPrivate::initEntity() { Q_Q(RailEntity); auto* renderSettings = new Qt3DRender::QRenderSettings(); auto* viewport = new Qt3DRender::QViewport(); viewport->setNormalizedRect(QRectF(0.0f, 0.0f, 1.0f, 1.0f)); auto* renderSurfaceSelector = new Qt3DRender::QRenderSurfaceSelector(viewport); auto* layerFilter = new Qt3DRender::QLayerFilter(renderSurfaceSelector); layerFilter->setEnabled(false); auto* cameraSelector = new Qt3DRender::QCameraSelector(layerFilter); cameraSelector->setCamera(camera); auto* clearBuffer = new Qt3DRender::QClearBuffers(cameraSelector); clearBuffer->setBuffers(Qt3DRender::QClearBuffers::ColorDepthStencilBuffer); clearBuffer->setClearColor("#EEEEEE"); renderSettings->setActiveFrameGraph(viewport); q->addComponent(renderSettings); camera->setPosition(QVector3D(0.0f, 5.0f, 0.0f) + QVector3D(-25.0f, 0.0f, 0.0f)); camera->setViewCenter(QVector3D(0.0f, 0.0f, 0.0f)); camera->setUpVector(QVector3D(0.0f, 1.0f, 0.0f)); camera->setFarPlane(2000.0f); auto camController = new Qt3DExtras::QOrbitCameraController(q); camController->setLinearSpeed(300.0f); camController->setLookSpeed(180.0f); camController->setCamera(camera); renderSettings->pickingSettings()->setPickMethod(Qt3DRender::QPickingSetting s::TrianglePicking); auto objectPicker = new Qt3DRender::QObjectPicker(q); q->addComponent(objectPicker); QObject::connect(objectPicker, &Qt3DRender::QObjectPicker::clicked, q, &RailEntity::onClicked); railParts = new Qt3DCore::QEntity(q); railDefects = new Qt3DCore::QEntity(q); } I studied the (minimal) Qt3D documentation, the tests and the examples but could not find how to do this. I have the feeling that the Qt3d documentation and reference material assumes that the user already is an OpenGL expert. I am an experienced C++ and Qt developer but relatively new to OpenGL and Qt3D. My remaining problems: - How do I define a custom FrameGraph tree? - Do I need a QLayerFilter for each layer? - How do I define a branch in the FrameGraph? I tried to add this to the end of initEntity(): partsLayer = new Qt3DRender::QLayer(railParts); partsLayer->setRecursive(true); railParts->addComponent(partsLayer); defectsLayer = new Qt3DRender::QLayer(railDefects); defectsLayer->setRecursive(true); railDefects->addComponent(partsLayer); layerFilter->addLayer(partsLayer); layerFilter->addLayer(defectsLayer); Now I get a Windows error message after starting the program: entry point missing in DLL: createNodeCreationChange... I am using Qt 5.9.1 prebuilt msvc2017_64. To update the scene I remove all Rail.* entities and insert the new ones. These are the relevant parts of this code: void deleteChildrenRecursively(const Qt3DCore::QNodeVector& vector) { Qt3DCore::QNode* nullParent = nullptr; for (auto* node : vector) { auto* entity = dynamic_cast(node); qobject_cast would be more appropriate here If you set the parenting correctly on your elements, you should be able to delete only the parent of all the entities you want to delete which would take care of doing the recursive deletion automatically for you. You may want to add another Entity just for that purpose of grouping your rail parts. [ ] I know that (have written Qt programs since Qt-2.3.2), I just wanted to be sure the effect did not come from some left-over nodes in the framegraph Cheers, Helmut -- Paul Lemire | paul.lemire at kdab.com | Senior Software Engineer KDAB (France) S.A.S., a KDAB Group company Tel: France +33 (0)4 90 84 08 53, http://www.kdab.fr KDAB - The Qt, C++ and OpenGL Experts -------------- next part -------------- An HTML attachment was scrubbed... URL: From asmaloney at gmail.com Thu Oct 5 14:38:53 2017 From: asmaloney at gmail.com (Andy) Date: Thu, 5 Oct 2017 08:38:53 -0400 Subject: [Interest] QT 5.9.2 Release schedule In-Reply-To: References: Message-ID: Konstantin: You can see the high-level release plan for 5.9 here: https://wiki.qt.io/Qt_5.9_Release And for more fine-grained information, you can watch the release mailing list: http://lists.qt-project.org/pipermail/releasing/ According to the latter: "Target to get final packages for sanity checking Wed 4th October & get the release out during this week if nothing really serious found." --- Andy Maloney // https://asmaloney.com twitter ~ @asmaloney On Wed, Sep 20, 2017 at 7:37 AM, Satunin, Konstantin < konstantin.satunin at intel.com> wrote: > Hi All, > > > > We are interested in the bug fix for memory leak https://bugreports.qt.io/ > browse/QTBUG-61754 which will be available in 5.9.2 release. > > QT 5.9.2 snapshot version is available since August 30, and QT 5.10 Alpha > was released last week. > > > > Can anybody estimate when 5.9.2 might be released? > > Is it still according to the planned “September 2017” window (only 2 weeks > left)? > > > > Best wishes, > > Satunin, Konstantin (Keeper) > > SSG - Sensor Developer Products > > > > > -------------------------------------------------------------------- > Joint Stock Company Intel A/O > Registered legal address: Krylatsky Hills Business Park, > 17 Krylatskaya Str., Bldg 4, Moscow 121614, > Russian Federation > > This e-mail and any attachments may contain confidential material for > the sole use of the intended recipient(s). Any review or distribution > by others is strictly prohibited. If you are not the intended > recipient, please contact the sender and delete all copies. > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From christop.probst at gmail.com Thu Oct 5 15:50:34 2017 From: christop.probst at gmail.com (Christopher Probst) Date: Thu, 5 Oct 2017 09:50:34 -0400 Subject: [Interest] keyboard QML item Message-ID: Hi, I know that there is a virtual keyboard plugin that appears on demand when one of the fields grabs focus. I am looking to simply have a keyboard QML item, where I control when it is visible or not and that I can place wherever I want. Something like this Keyboard { anchors.fill: parent visible :true } Is there such a think in QML? Thanks, Christopher From thiago.macieira at intel.com Thu Oct 5 18:28:24 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Thu, 5 Oct 2017 09:28:24 -0700 Subject: [Interest] [Development] QRandomGenerator and boot times In-Reply-To: References: Message-ID: <2733053.oJ5YkfWkrY@tjmaciei-mobl1> On segunda-feira, 18 de setembro de 2017 01:42:25 PDT Sami Nurmenniemi wrote: > The point of mentioning the 1.2s demo was an answer to the statement "I > wasn't worried about Qt on real devices because I don't expect it to be > run early enough to matter." Maybe the demo application (being the only > user space process) needs to make the connection between hwrng + random > pool or preserve entropy over reboots. If your demo *is* the system, then your demo needs to take care of preserving the entropy pool and reseeding it, just like it's responsible for mounting filesystems, bringing the network up, etc. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From mike.jackson at bluequartz.net Thu Oct 5 19:11:48 2017 From: mike.jackson at bluequartz.net (Michael Jackson) Date: Thu, 05 Oct 2017 13:11:48 -0400 Subject: [Interest] QT 5.9.2 Release schedule In-Reply-To: References: Message-ID: Will the 5.9.2 release have the macOS 10.13 bugs fixed? I have been trying to track through all the bug reports but not sure if I have verified it or not by myself. -- Michael Jackson | Owner, President BlueQuartz Software [e] mike.jackson at bluequartz.net [w] www.bluequartz.net -----Original Message----- From: Interest on behalf of Andy Date: Thursday, October 5, 2017 at 8:39 AM To: "Satunin, Konstantin" Cc: "interest at qt-project.org" Subject: Re: [Interest] QT 5.9.2 Release schedule Konstantin: You can see the high-level release plan for 5.9 here: https://wiki.qt.io/Qt_5.9_Release And for more fine-grained information, you can watch the release mailing list: http://lists.qt-project.org/pipermail/releasing/ According to the latter: "Target to get final packages for sanity checking Wed 4th October & get the release out during this week if nothing really serious found." --- Andy Maloney // https://asmaloney.com twitter ~ @asmaloney On Wed, Sep 20, 2017 at 7:37 AM, Satunin, Konstantin wrote: Hi All, We are interested in the bug fix for memory leak https://bugreports.qt.io/browse/QTBUG-61754 which will be available in 5.9.2 release. QT 5.9.2 snapshot version is available since August 30, and QT 5.10 Alpha was released last week. Can anybody estimate when 5.9.2 might be released? Is it still according to the planned “September 2017” window (only 2 weeks left)? Best wishes, Satunin, Konstantin (Keeper) SSG - Sensor Developer Products -------------------------------------------------------------------- Joint Stock Company Intel A/O Registered legal address: Krylatsky Hills Business Park, 17 Krylatskaya Str., Bldg 4, Moscow 121614, Russian Federation This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. _______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest _______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest From thiago.macieira at intel.com Thu Oct 5 21:34:27 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Thu, 5 Oct 2017 12:34:27 -0700 Subject: [Interest] QT 5.9.2 Release schedule In-Reply-To: References: Message-ID: <3751914.cRUA5GnAkz@tjmaciei-mobl1> On quinta-feira, 5 de outubro de 2017 10:11:48 PDT Michael Jackson wrote: > Will the 5.9.2 release have the macOS 10.13 bugs fixed? What bugs? It will have all issues we've found fixed. It won't have fixes for issues we have not run into. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From neum.ja at gmail.com Thu Oct 5 21:45:34 2017 From: neum.ja at gmail.com (Jan Neumann) Date: Thu, 05 Oct 2017 21:45:34 +0200 Subject: [Interest] Do I need widevinecdmadapter.so to watch Netflix, Prime etc.? Message-ID: <2911616.D7ZKLQaD72@royal-ts> Hi, I am on Archlinux. We have packages in AUR which should provide widevine, one of them especially for [qt5-webengine](https://aur.archlinux.org/packages/qt5-webengine-widevine/). Generally they get the [widevine component](https://dl.google.com/widevine-cdm/1.4.8.1008-linux-x64.zip) and copy the content (libwidevinecdm.so) to / usr/lib/chromium. So far so good... If i have chromium installed alongside e.g. Qupzilla i can watch netflix with qupzilla very well. but if i remove chromium i ran in issues: widevine- component not found. So, with removing chromium i also remove libwidevinecdm**adapter**.so from / usr/lib/chromium. I searched the web and contacted the maintainer, but no clear statement. I guess qt5-webengine needs both **libwidevinecdmadapter.so and libwidevinecdm.so** to work properly. Can someone of the devs please confirm... From oleg.yadrov at qt.io Thu Oct 5 21:54:43 2017 From: oleg.yadrov at qt.io (Oleg Yadrov) Date: Thu, 5 Oct 2017 19:54:43 +0000 Subject: [Interest] QT 5.9.2 Release schedule In-Reply-To: <3751914.cRUA5GnAkz@tjmaciei-mobl1> References: <3751914.cRUA5GnAkz@tjmaciei-mobl1> Message-ID: I want to highlight this, a very annoying one: https://bugreports.qt.io/browse/QTBUG-63532 -- Oleg Yadrov - oleg.yadrov at qt.io On Oct 5, 2017, at 3:34 PM, Thiago Macieira > wrote: On quinta-feira, 5 de outubro de 2017 10:11:48 PDT Michael Jackson wrote: Will the 5.9.2 release have the macOS 10.13 bugs fixed? What bugs? It will have all issues we've found fixed. It won't have fixes for issues we have not run into. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center _______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Thu Oct 5 22:21:58 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Thu, 5 Oct 2017 13:21:58 -0700 Subject: [Interest] QT 5.9.2 Release schedule In-Reply-To: References: <3751914.cRUA5GnAkz@tjmaciei-mobl1> Message-ID: <3404917.rbPFBmVdM8@tjmaciei-mobl1> On quinta-feira, 5 de outubro de 2017 12:54:43 PDT Oleg Yadrov wrote: > I want to highlight this, a very annoying one: > https://bugreports.qt.io/browse/QTBUG-63532 The message on that one is "not our bug - let's wait for Apple". -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From kde at carewolf.com Thu Oct 5 22:25:23 2017 From: kde at carewolf.com (Allan Sandfeld Jensen) Date: Thu, 05 Oct 2017 22:25:23 +0200 Subject: [Interest] Do I need widevinecdmadapter.so to watch Netflix, Prime etc.? In-Reply-To: <2911616.D7ZKLQaD72@royal-ts> References: <2911616.D7ZKLQaD72@royal-ts> Message-ID: <1902794.vncrL6q4Od@twilight> On Donnerstag, 5. Oktober 2017 21:45:34 CEST Jan Neumann wrote: > Hi, > > I am on Archlinux. > We have packages in AUR which should provide widevine, one of them > especially for > [qt5-webengine](https://aur.archlinux.org/packages/qt5-webengine-widevine/) > . Generally they get the [widevine > component](https://dl.google.com/widevine-cdm/1.4.8.1008-linux-x64.zip) and > copy the content (libwidevinecdm.so) to / usr/lib/chromium. So far so > good... > If i have chromium installed alongside e.g. Qupzilla i can watch netflix > with qupzilla very well. but if i remove chromium i ran in issues: > widevine- component not found. > So, with removing chromium i also remove libwidevinecdm**adapter**.so from / > usr/lib/chromium. > I searched the web and contacted the maintainer, but no clear statement. > I guess qt5-webengine needs both **libwidevinecdmadapter.so and > libwidevinecdm.so** to work properly. > > Can someone of the devs please confirm... > You you need both. One is just a plugin wrapper for the other. So libwidevinecdmadapter.so is what Chrome and QtWebEngine talks to, the PPAPI plugin, but libwidevinecdm.so is the shared library with all the crucial DRM functionality. \Allan From oleg.yadrov at qt.io Thu Oct 5 22:42:04 2017 From: oleg.yadrov at qt.io (Oleg Yadrov) Date: Thu, 5 Oct 2017 20:42:04 +0000 Subject: [Interest] QT 5.9.2 Release schedule In-Reply-To: <3404917.rbPFBmVdM8@tjmaciei-mobl1> References: <3751914.cRUA5GnAkz@tjmaciei-mobl1> <3404917.rbPFBmVdM8@tjmaciei-mobl1> Message-ID: <8E440E92-B434-4EAF-9AED-1B1F5668FF7E@qt.io> The message on that one is "not our bug - let's wait for Apple". Yeah, but I just thought maybe there was something our macOS experts could do about it since this issue affects every Qt Quick application and there is no guarantee Apple will ever fix it (similar to QTBUG-58623)... I think it would be good if someone confirmed the bug and started thinking of a way how we could work this around in case if Apple does not care. -- Oleg Yadrov - oleg.yadrov at qt.io On Oct 5, 2017, at 4:21 PM, Thiago Macieira > wrote: On quinta-feira, 5 de outubro de 2017 12:54:43 PDT Oleg Yadrov wrote: I want to highlight this, a very annoying one: https://bugreports.qt.io/browse/QTBUG-63532 The message on that one is "not our bug - let's wait for Apple". -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center _______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From roland at logikalsolutions.com Fri Oct 6 00:03:29 2017 From: roland at logikalsolutions.com (Roland Hughes) Date: Thu, 5 Oct 2017 17:03:29 -0500 Subject: [Interest] PostgreSQL cross compile for Pi In-Reply-To: References: Message-ID: <7a00dfb6-389e-4a81-2ab7-0fe12e048010@logikalsolutions.com> All, Rather than pollute the list with a ton of pasted stuff which causes it to needlessly send countless digest messages, I have included all of the information in this blog post. http://www.logikalsolutions.com/wordpress/information-technology/how-far-weve-come-pt-18/ I have 2 questions: 1) how do I file a bug report on this because the wiki page is definitely wrong? 2) has _anybody_ found a work around to cross compile PostgreSQL support for the Pi, which hopefully doesn't involve loop mounting an image? Thanks, -- Roland Hughes, President Logikal Solutions (630)-205-1593 http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.johnsmith-book.com http://www.logikalblog.com http://www.interestingauthors.com/blog http://lesedi.us/ http://onedollarcontentstore.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From irfan.omair.qt at gmail.com Fri Oct 6 00:11:44 2017 From: irfan.omair.qt at gmail.com (Irfan Omair) Date: Thu, 5 Oct 2017 15:11:44 -0700 Subject: [Interest] PostgreSQL cross compile for Pi In-Reply-To: <7a00dfb6-389e-4a81-2ab7-0fe12e048010@logikalsolutions.com> References: <7a00dfb6-389e-4a81-2ab7-0fe12e048010@logikalsolutions.com> Message-ID: You can always log a bug here: https://bugreports.qt.io/ What page of wiki you are referring here is wrong? On Thu, Oct 5, 2017 at 3:03 PM, Roland Hughes wrote: > All, > Rather than pollute the list with a ton of pasted stuff which causes it to > needlessly send countless digest messages, I have included all of the > information in this blog post. > > http://www.logikalsolutions.com/wordpress/information- > technology/how-far-weve-come-pt-18/ > > I have 2 questions: > 1) how do I file a bug report on this because the wiki page is definitely > wrong? > 2) has _anybody_ found a work around to cross compile PostgreSQL support > for the Pi, which hopefully doesn't involve loop mounting an image? > > Thanks, > > -- > Roland Hughes, President > Logikal Solutions(630)-205-1593 <(630)%20205-1593> > http://www.theminimumyouneedtoknow.comhttp://www.infiniteexposure.nethttp://www.johnsmith-book.comhttp://www.logikalblog.comhttp://www.interestingauthors.com/bloghttp://lesedi.us/http://onedollarcontentstore.com > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Jake.Petroules at qt.io Fri Oct 6 00:13:47 2017 From: Jake.Petroules at qt.io (Jake Petroules) Date: Thu, 5 Oct 2017 22:13:47 +0000 Subject: [Interest] QT 5.9.2 Release schedule In-Reply-To: <8E440E92-B434-4EAF-9AED-1B1F5668FF7E@qt.io> References: <3751914.cRUA5GnAkz@tjmaciei-mobl1> <3404917.rbPFBmVdM8@tjmaciei-mobl1> <8E440E92-B434-4EAF-9AED-1B1F5668FF7E@qt.io> Message-ID: <932F8158-B556-43D3-8E72-5295B469686F@qt.io> Like I said on the report, this may be a WindowServer bug which we simply *can't* do anything about. > On Oct 5, 2017, at 1:42 PM, Oleg Yadrov wrote: > >> The message on that one is "not our bug - let's wait for Apple". > > Yeah, but I just thought maybe there was something our macOS experts could do about it since this issue affects every Qt Quick application and there is no guarantee Apple will ever fix it (similar to QTBUG-58623)... I think it would be good if someone confirmed the bug and started thinking of a way how we could work this around in case if Apple does not care. > > -- > Oleg Yadrov - oleg.yadrov at qt.io > >> On Oct 5, 2017, at 4:21 PM, Thiago Macieira wrote: >> >> On quinta-feira, 5 de outubro de 2017 12:54:43 PDT Oleg Yadrov wrote: >>> I want to highlight this, a very annoying one: >>> https://bugreports.qt.io/browse/QTBUG-63532 >> >> The message on that one is "not our bug - let's wait for Apple". >> >> -- >> Thiago Macieira - thiago.macieira (AT) intel.com >> Software Architect - Intel Open Source Technology Center >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -- Jake Petroules - jake.petroules at qt.io The Qt Company - Silicon Valley Qbs build tool evangelist - qbs.io From efanharris at gmail.com Fri Oct 6 00:17:57 2017 From: efanharris at gmail.com (.... ....) Date: Thu, 5 Oct 2017 15:17:57 -0700 Subject: [Interest] CMAKE with Static Qt Message-ID: Does qt support static executable builds with cmake without the need to explicitly define all the dependent libraries? Is there any solution I can look up online? -- Efan Harris -------------- next part -------------- An HTML attachment was scrubbed... URL: From roland at logikalsolutions.com Fri Oct 6 00:55:04 2017 From: roland at logikalsolutions.com (Roland Hughes) Date: Thu, 5 Oct 2017 17:55:04 -0500 Subject: [Interest] PostgreSQL cross compile for Pi In-Reply-To: References: <7a00dfb6-389e-4a81-2ab7-0fe12e048010@logikalsolutions.com> Message-ID: <7f883ddb-2296-643f-0846-422ef822b664@logikalsolutions.com> The link is in the blog post. Actually, both links are. Look for "official Qt Wiki article" On 10/05/2017 05:11 PM, Irfan Omair wrote: > You can always log a bug here: > https://bugreports.qt.io/ > > What page of wiki you are referring here is wrong? > > On Thu, Oct 5, 2017 at 3:03 PM, Roland Hughes > > wrote: > > All, > > Rather than pollute the list with a ton of pasted stuff which > causes it to needlessly send countless digest messages, I have > included all of the information in this blog post. > > http://www.logikalsolutions.com/wordpress/information-technology/how-far-weve-come-pt-18/ > > > I have 2 questions: > 1) how do I file a bug report on this because the wiki page is > definitely wrong? > 2) has _anybody_ found a work around to cross compile PostgreSQL > support for the Pi, which hopefully doesn't involve loop mounting > an image? > > Thanks, > > -- > Roland Hughes, President > Logikal Solutions > (630)-205-1593 > > http://www.theminimumyouneedtoknow.com > > http://www.infiniteexposure.net > http://www.johnsmith-book.com > http://www.logikalblog.com > http://www.interestingauthors.com/blog > > http://lesedi.us/ > http://onedollarcontentstore.com > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > > -- Roland Hughes, President Logikal Solutions (630)-205-1593 http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.johnsmith-book.com http://www.logikalblog.com http://www.interestingauthors.com/blog http://lesedi.us/ http://onedollarcontentstore.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From tim at klingt.org Fri Oct 6 10:18:50 2017 From: tim at klingt.org (Tim Blechmann) Date: Fri, 6 Oct 2017 10:18:50 +0200 Subject: [Interest] CMAKE with Static Qt In-Reply-To: References: Message-ID: > Does qt support static executable builds with cmake without the need to > explicitly define all the dependent libraries? Is there any solution I > can look up online? https://bugreports.qt.io/browse/QTBUG-38913 :/ From ferraresi at estetechnology.com Fri Oct 6 11:28:09 2017 From: ferraresi at estetechnology.com (=?UTF-8?Q?Carlo_Ferraresi?=) Date: Fri, 6 Oct 2017 09:28:09 +0000 Subject: [Interest] Qt3D cross compile on Pi3, examples/applications not working Message-ID: <0102015ef1037719-97eb5f6c-3c1d-4ce7-9250-60425aec461c-000000@eu-west-1.amazonses.com> Hi to all, I successfully  cross-compiled the Qt 5.9.2 with support for EGLFS, following the “official” guide: https://wiki.qt.io/RaspberryPi2EGLFS . Now I am able to run the qopenglwidget example at 60FPS directly from terminal, without a x11 environment.   I also cross-compiled Qt3D module without problems, getting the sources from “git://code.qt.io/qt/qt3d.git  -b  origin/5.9.2”.  I need a Qt3D version greater that 5.7 because I need the support for QPaintedTexture. The problem is that I am not able to run Qt3D example or application. I tried with several examples such as simple-cpp, lights and materials,  the screen shows strange artifacts and the application seems freezed.   When I try planets-qml I get this output: “QOpenGLTexture* Qt3DRender::Render::GLTexture::buildGLTexture() could not find a matching OpenGL ES 2.0 unsized texture format QOpenGLTexture::setMipBaseLevel: requires OpenGL >= 1.2 or OpenGL ES >= 3.0 QOpenGLTexture::setMipMaxLevel: requires OpenGL >= 1.2 or OpenGL ES >= 3.0 FBO incomplete FBO incomplete …”   I also tried a custom application that works fine on PC getting this output: “EGLFS: OpenGL windows cannot be mixed with others. Aborted”   I found this bugreport “Qt3d examples not working on Raspberry Pi 3 “ : https://bugreports.qt.io/browse/QTBUG-59349 . The bug has been fixed on v5.9.2, but It doesn’t seems true or I probably miss something on Qt3D cross-compilation.   Has anybody succefully compiled a working Qt3D module (version >= 5.8) for RPi3 ?   Thanks, Carlo           -------------- next part -------------- An HTML attachment was scrubbed... URL: From sergio.martins at kdab.com Fri Oct 6 13:50:24 2017 From: sergio.martins at kdab.com (Sergio Martins) Date: Fri, 06 Oct 2017 12:50:24 +0100 Subject: [Interest] Qt3D cross compile on Pi3, examples/applications not working In-Reply-To: <0102015ef1037719-97eb5f6c-3c1d-4ce7-9250-60425aec461c-000000@eu-west-1.amazonses.com> References: <0102015ef1037719-97eb5f6c-3c1d-4ce7-9250-60425aec461c-000000@eu-west-1.amazonses.com> Message-ID: <08f9f1695c6a71375fc77aa3b22f4634@kdab.com> On 2017-10-06 10:28, Carlo Ferraresi wrote: > I tried with several examples such as simple-cpp, lights and > materials,  the screen shows strange artifacts and the application > seems freezed. > >   > When I try planets-qml I get this output: > > “QOpenGLTexture* Qt3DRender::Render::GLTexture::buildGLTexture() could > not find a matching OpenGL ES 2.0 unsized texture format Can you run the free command and show us the output ? I'm only interested in the "Total" column. > Has anybody succefully compiled a working Qt3D module (version >= 5.8) > for RPi3 ? I've ran several examples fine (after fixing two bugs, already included in 5.9.2), that was an a rpi2 though, as I don't have v3, but the GPU is very similar on both. Regards, -- Sérgio Martins | sergio.martins at kdab.com | Senior Software Engineer Klarälvdalens Datakonsult AB, a KDAB Group company Tel: Sweden (HQ) +46-563-540090, USA +1-866-777-KDAB(5322) KDAB - The Qt, C++ and OpenGL Experts From ferraresi at estetechnology.com Fri Oct 6 15:09:41 2017 From: ferraresi at estetechnology.com (=?UTF-8?Q?Carlo_Ferraresi?=) Date: Fri, 6 Oct 2017 13:09:41 +0000 Subject: [Interest] R: Qt3D cross compile on Pi3, examples/applications not working In-Reply-To: <08f9f1695c6a71375fc77aa3b22f4634@kdab.com> References: <0102015ef1037719-97eb5f6c-3c1d-4ce7-9250-60425aec461c-000000@eu-west-1.amazonses.com> Message-ID: <0102015ef1ce49c0-cf02191a-90ce-497b-8d8b-ad585b62a1fb-000000@eu-west-1.amazonses.com> On 2017-10-06 10:28 13:50, Sergio Martins wrote: >On 2017-10-06 10:28, Carlo Ferraresi wrote: >> I tried with several examples such as simple-cpp, lights and >> materials,  the screen shows strange artifacts and the application >> seems freezed. >> >>   >> When I try planets-qml I get this output: >> >> “QOpenGLTexture* Qt3DRender::Render::GLTexture::buildGLTexture() could >> not find a matching OpenGL ES 2.0 unsized texture format > >Can you run the free command and show us the output ? I'm only >interested in the "Total" column. It is the output of free command: total used free shared buff/cache available Mem: 766868 39820 583444 10004 143604 668164 Swap: 102396 0 102396 >> Has anybody succefully compiled a working Qt3D module (version >= 5.8) >> for RPi3 ? > >I've ran several examples fine (after fixing two bugs, already included >in 5.9.2), that was an a rpi2 though, as I don't have v3, but the GPU is >very similar on both. Where did you get the sources? Because the build instructions reported in the qt3d README seem outdated. I simply cloned the sources from git://code.qt.io/qt/qt3d.git and the made qmake & make. Maybe I didn't get the last commits or something like that. .. Carlo From jim at wavemetrics.com Fri Oct 6 19:53:20 2017 From: jim at wavemetrics.com (Jim Prouty) Date: Fri, 6 Oct 2017 10:53:20 -0700 Subject: [Interest] QT 5.9.2 Release schedule: QTBUG-63443 In-Reply-To: <3751914.cRUA5GnAkz@tjmaciei-mobl1> References: <3751914.cRUA5GnAkz@tjmaciei-mobl1> Message-ID: This is the one that worries me: QTBUG-63443 "QWidgetAction creates empty dummy window on macOS 10.12.6" https://bugreports.qt.io/browse/QTBUG-63443 • Priority: Not Evaluated • Resolution:Unresolved > On Oct 5, 2017, at 12:34 PM, Thiago Macieira wrote: > > On quinta-feira, 5 de outubro de 2017 10:11:48 PDT Michael Jackson wrote: >> Will the 5.9.2 release have the macOS 10.13 bugs fixed? > > What bugs? > > It will have all issues we've found fixed. It won't have fixes for issues we > have not run into. > > -- > Thiago Macieira - thiago.macieira (AT) intel.com > Software Architect - Intel Open Source Technology Center > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Sat Oct 7 01:10:19 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Fri, 06 Oct 2017 16:10:19 -0700 Subject: [Interest] QT 5.9.2 Release schedule: QTBUG-63443 In-Reply-To: References: <3751914.cRUA5GnAkz@tjmaciei-mobl1> Message-ID: <4602983.47toXZ0lxZ@tjmaciei-mobl1> On Friday, 6 October 2017 10:53:20 PDT Jim Prouty wrote: > This is the one that worries me: QTBUG-63443 > > "QWidgetAction creates empty dummy window on macOS 10.12.6" > > https://bugreports.qt.io/browse/QTBUG-63443 > > > • Priority: Not Evaluated > • Resolution:Unresolved That was reported last week. It missed the 5.9.2 release. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From patrickkidd at gmail.com Sat Oct 7 05:08:33 2017 From: patrickkidd at gmail.com (Patrick Stinson) Date: Fri, 6 Oct 2017 20:08:33 -0700 Subject: [Interest] Synchronous painting on QGraphicsScene Message-ID: <0645F461-B122-404B-AFC7-D15F29B56A24@gmail.com> Hi there! I have a graph-ish diagram app where dragging some objects (like nodes) necessitates dragging other objects (like connecting edges). However, if I update an edge from the mouse event or ItemChanged(position) event then the edge isn’t painted until the next paint event. At times, this is quite obvious for example when nudging a node with an arrow key and the node is going in one direction and edge goes in the other direction for one frame because it is one buffer behind. Any thoughts on synchronous painting? Thank you -Patrick -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 1403 bytes Desc: not available URL: From patrickkidd at gmail.com Sat Oct 7 05:11:17 2017 From: patrickkidd at gmail.com (Patrick Stinson) Date: Fri, 6 Oct 2017 20:11:17 -0700 Subject: [Interest] Poor retina support for QGraphicsView on macOS? Message-ID: Hello! I am seeing the antialiasing is still quite grainy using a QGraphicsView on mac. Is it possible to increase the device pixel ratio, or something similar? See attached screenshots, expanding to full rez before viewing. Note smoothness of retina button pixmaps at left VS jagged lines in middle. I am using a QOpenGLWidget for the viewport (though this doesn’t seem to matter): view.setViewport(QOpenGLWidget()) I am painting QPainterPaths like this: def paint(self, painter, option, widget): painter.save() painter.setPen(self.pen) painter.setBrush(self.brush) painter.drawPath(self.path) painter.restore() with the following render hints: view.setRenderHints(QPainter.Antialiasing|QPainter.HighQualityAntialiasing|QPainter.SmoothPixmapTransform|QPainter.TextAntialiasing) and the following attribute set on the QApplication: app.setAttribute(Qt.AA_UseHighDpiPixmaps, True) Thanks! -P -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 30f213eb-834c-4ab3-a4ab-6a039b98412d.jpg Type: image/jpeg Size: 85622 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: c489c21f-ab9d-45d5-a132-2b413ffee963.jpg Type: image/jpeg Size: 187902 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 1403 bytes Desc: not available URL: From chgans at gmail.com Sat Oct 7 10:01:46 2017 From: chgans at gmail.com (Christian Gagneraud) Date: Sat, 7 Oct 2017 21:01:46 +1300 Subject: [Interest] Synchronous painting on QGraphicsScene In-Reply-To: <0645F461-B122-404B-AFC7-D15F29B56A24@gmail.com> References: <0645F461-B122-404B-AFC7-D15F29B56A24@gmail.com> Message-ID: On 7 October 2017 at 16:08, Patrick Stinson wrote: > Hi there! > > I have a graph-ish diagram app where dragging some objects (like nodes) necessitates dragging other objects (like connecting edges). However, if I update an edge from the mouse event or ItemChanged(position) event then the edge isn’t painted until the next paint event. At times, this is quite obvious for example when nudging a node with an arrow key and the node is going in one direction and edge goes in the other direction for one frame because it is one buffer behind. > > Any thoughts on synchronous painting? Have you check the "Elastic node" example? It does exactly what you're describing. And last time i tried it, it worked very well, no painting artifact. How is your "update" done exactly? Chris > > Thank you > -Patrick > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > From chgans at gmail.com Sat Oct 7 10:09:31 2017 From: chgans at gmail.com (Christian Gagneraud) Date: Sat, 7 Oct 2017 21:09:31 +1300 Subject: [Interest] Poor retina support for QGraphicsView on macOS? In-Reply-To: References: Message-ID: On 7 October 2017 at 16:11, Patrick Stinson wrote: > > Hello! > > I am seeing the antialiasing is still quite grainy using a QGraphicsView on mac. Is it possible to increase the device pixel ratio, or something similar? > > See attached screenshots, expanding to full rez before viewing. Note smoothness of retina button pixmaps at left VS jagged lines in middle. > > I am using a QOpenGLWidget for the viewport (though this doesn’t seem to matter): I vaguely remember that anti-aliasing doesn't work with an OpenGL view (that was on a Linux machine). > view.setViewport(QOpenGLWidget()) Don't do that and the anti-aliasing will work. Chris > > I am painting QPainterPaths like this: > > def paint(self, painter, option, widget): > painter.save() > painter.setPen(self.pen) > painter.setBrush(self.brush) > painter.drawPath(self.path) > painter.restore() > > with the following render hints: > > view.setRenderHints(QPainter.Antialiasing|QPainter.HighQualityAntialiasing|QPainter.SmoothPixmapTransform|QPainter.TextAntialiasing) > > and the following attribute set on the QApplication: > > app.setAttribute(Qt.AA_UseHighDpiPixmaps, True) > > Thanks! > -P > > > > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > From kde at carewolf.com Sat Oct 7 11:15:46 2017 From: kde at carewolf.com (Allan Sandfeld Jensen) Date: Sat, 07 Oct 2017 11:15:46 +0200 Subject: [Interest] Do I need widevinecdmadapter.so to watch Netflix, Prime etc.? In-Reply-To: <1902794.vncrL6q4Od@twilight> References: <2911616.D7ZKLQaD72@royal-ts> <1902794.vncrL6q4Od@twilight> Message-ID: <33499598.a2vIl3sD1u@twilight> On Donnerstag, 5. Oktober 2017 22:25:23 CEST Allan Sandfeld Jensen wrote: > On Donnerstag, 5. Oktober 2017 21:45:34 CEST Jan Neumann wrote: > > Hi, > > > > I am on Archlinux. > > We have packages in AUR which should provide widevine, one of them > > especially for > > [qt5-webengine](https://aur.archlinux.org/packages/qt5-webengine-widevine/ > > ) > > . Generally they get the [widevine > > component](https://dl.google.com/widevine-cdm/1.4.8.1008-linux-x64.zip) > > and > > copy the content (libwidevinecdm.so) to / usr/lib/chromium. So far so > > good... > > If i have chromium installed alongside e.g. Qupzilla i can watch netflix > > with qupzilla very well. but if i remove chromium i ran in issues: > > widevine- component not found. > > So, with removing chromium i also remove libwidevinecdm**adapter**.so from > > / usr/lib/chromium. > > I searched the web and contacted the maintainer, but no clear statement. > > I guess qt5-webengine needs both **libwidevinecdmadapter.so and > > libwidevinecdm.so** to work properly. > > > > Can someone of the devs please confirm... > > You you need both. One is just a plugin wrapper for the other. So > libwidevinecdmadapter.so is what Chrome and QtWebEngine talks to, the PPAPI > plugin, but libwidevinecdm.so is the shared library with all the crucial DRM > functionality. > Btw. For all the details see http://blog.qt.io/blog/2016/06/03/netflix-qt-webengine-5-7/ I mentions both libraries, and how to get Chrome to download them and where to find them. Though for end-users just getting Chrome to download them is enough, QtWebEngine will look for them where Chrome puts them. 'Allan From roland at logikalsolutions.com Sat Oct 7 14:49:00 2017 From: roland at logikalsolutions.com (Roland Hughes) Date: Sat, 7 Oct 2017 07:49:00 -0500 Subject: [Interest] PostgreSQL cross compile for Pi In-Reply-To: References: <7a00dfb6-389e-4a81-2ab7-0fe12e048010@logikalsolutions.com> Message-ID: Bug filed. https://bugreports.qt.io/browse/QTBUG-63650 I expect, like all OpenSource bugs, it will be ignored until the version it is reported against is no longer supported, then it will become a "closed" bug. Thanks for the reporting link though. On 10/05/2017 05:11 PM, Irfan Omair wrote: > You can always log a bug here: > https://bugreports.qt.io/ > > What page of wiki you are referring here is wrong? > > On Thu, Oct 5, 2017 at 3:03 PM, Roland Hughes > > wrote: > > All, > > Rather than pollute the list with a ton of pasted stuff which > causes it to needlessly send countless digest messages, I have > included all of the information in this blog post. > > http://www.logikalsolutions.com/wordpress/information-technology/how-far-weve-come-pt-18/ > > > I have 2 questions: > 1) how do I file a bug report on this because the wiki page is > definitely wrong? > 2) has _anybody_ found a work around to cross compile PostgreSQL > support for the Pi, which hopefully doesn't involve loop mounting > an image? > > Thanks, > > -- > Roland Hughes, President > Logikal Solutions > (630)-205-1593 > > http://www.theminimumyouneedtoknow.com > > http://www.infiniteexposure.net > http://www.johnsmith-book.com > http://www.logikalblog.com > http://www.interestingauthors.com/blog > > http://lesedi.us/ > http://onedollarcontentstore.com > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > > -- Roland Hughes, President Logikal Solutions (630)-205-1593 http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.johnsmith-book.com http://www.logikalblog.com http://www.interestingauthors.com/blog http://lesedi.us/ http://onedollarcontentstore.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Sat Oct 7 18:51:52 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Sat, 07 Oct 2017 09:51:52 -0700 Subject: [Interest] PostgreSQL cross compile for Pi In-Reply-To: References: Message-ID: <6423145.KxFm97uu14@tjmaciei-mobl1> On Saturday, 7 October 2017 05:49:00 PDT Roland Hughes wrote: > I expect, like all OpenSource bugs, it will be ignored until the version > it is reported against is no longer supported, then it will become a > "closed" bug. Except for all the bugs that I close, which are only about the open source version. As much as possible, I work on them immediately. Example: *this* week in the thread "QUdpSocket on Windows 10: QNetworkDatagram::destinationAddress/Port not set", I asked that a bug be reported. It was (QTBUG-63605). I've already fixed it. It's making its way through the verification and will be in the next release (5.9.3). So please take your negativity away and stop insulting those who actually care about Qt. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From jeanmichael.celerier at gmail.com Sat Oct 7 19:01:13 2017 From: jeanmichael.celerier at gmail.com (=?UTF-8?Q?Jean=2DMicha=C3=ABl_Celerier?=) Date: Sat, 7 Oct 2017 19:01:13 +0200 Subject: [Interest] Poor retina support for QGraphicsView on macOS? In-Reply-To: References: Message-ID: > Don't do that and the anti-aliasing will work. Or alternatively enable GL antialiasing for instance by using QSurfaceFormat::setSamples ( http://doc.qt.io/qt-5/qsurfaceformat.html#setSamples) and passing the format to your GL viewport. However this ends up being quite slow on retina display in my experience. ------- Jean-Michaël Celerier http://www.jcelerier.name On Sat, Oct 7, 2017 at 10:09 AM, Christian Gagneraud wrote: > On 7 October 2017 at 16:11, Patrick Stinson wrote: > > > > Hello! > > > > I am seeing the antialiasing is still quite grainy using a QGraphicsView > on mac. Is it possible to increase the device pixel ratio, or something > similar? > > > > See attached screenshots, expanding to full rez before viewing. Note > smoothness of retina button pixmaps at left VS jagged lines in middle. > > > > I am using a QOpenGLWidget for the viewport (though this doesn’t seem to > matter): > > I vaguely remember that anti-aliasing doesn't work with an OpenGL view > (that was on a Linux machine). > > > view.setViewport(QOpenGLWidget()) > > Don't do that and the anti-aliasing will work. > > Chris > > > > > > > I am painting QPainterPaths like this: > > > > def paint(self, painter, option, widget): > > painter.save() > > painter.setPen(self.pen) > > painter.setBrush(self.brush) > > painter.drawPath(self.path) > > painter.restore() > > > > with the following render hints: > > > > view.setRenderHints(QPainter.Antialiasing|QPainter. > HighQualityAntialiasing|QPainter.SmoothPixmapTransform| > QPainter.TextAntialiasing) > > > > and the following attribute set on the QApplication: > > > > app.setAttribute(Qt.AA_UseHighDpiPixmaps, True) > > > > Thanks! > > -P > > > > > > > > > > > > _______________________________________________ > > Interest mailing list > > Interest at qt-project.org > > http://lists.qt-project.org/mailman/listinfo/interest > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -------------- next part -------------- An HTML attachment was scrubbed... URL: From krzysiek.kawa at gmail.com Sat Oct 7 19:27:50 2017 From: krzysiek.kawa at gmail.com (Krzysztof Kawa) Date: Sat, 7 Oct 2017 19:27:50 +0200 Subject: [Interest] PostgreSQL cross compile for Pi In-Reply-To: <6423145.KxFm97uu14@tjmaciei-mobl1> References: <6423145.KxFm97uu14@tjmaciei-mobl1> Message-ID: I don't want to be mean Thiago, because I love Qt, I do appreciate your hard work and all the people that make it happen, but you need to consider that you're pretty big part of Qt and things around you do move in a different pace. It's not the same for some of us. As an example consider this P2 bug: https://bugreports.qt.io/browse/QTBUG-52108. I reported it in 5.6.2. It's 5.10 alpha now and it only deteriorated further. You could say "well then fix it yourself". I did try to start contributing. Take a look at this sad change log: https://codereview.qt-project.org/#/c/196430 - the most absurdly trivial 4 words of comment and it took almost 2 months to review it (see by who btw.) and I gave up after 7 tries to stage it. Sorry, but I can't imagine what it would take to add anything of substance this way. 2017-10-07 18:51 GMT+02:00 Thiago Macieira : > On Saturday, 7 October 2017 05:49:00 PDT Roland Hughes wrote: >> I expect, like all OpenSource bugs, it will be ignored until the version >> it is reported against is no longer supported, then it will become a >> "closed" bug. > > Except for all the bugs that I close, which are only about the open source > version. As much as possible, I work on them immediately. > > Example: *this* week in the thread "QUdpSocket on Windows 10: > QNetworkDatagram::destinationAddress/Port not set", I asked that a bug be > reported. It was (QTBUG-63605). I've already fixed it. It's making its way > through the verification and will be in the next release (5.9.3). > > So please take your negativity away and stop insulting those who actually care > about Qt. > > -- > Thiago Macieira - thiago.macieira (AT) intel.com > Software Architect - Intel Open Source Technology Center > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest From patrickkidd at gmail.com Sat Oct 7 19:35:30 2017 From: patrickkidd at gmail.com (Patrick Stinson) Date: Sat, 7 Oct 2017 10:35:30 -0700 Subject: [Interest] Poor retina support for QGraphicsView on macOS? In-Reply-To: References: Message-ID: <12139011-F3D2-47E7-8BAD-EF69B24786F5@gmail.com> That is correct, this did fix the antialiasing issue at the expense of performance. I suppose it is a trade off. > On Oct 7, 2017, at 1:09 AM, Christian Gagneraud wrote: > >> On 7 October 2017 at 16:11, Patrick Stinson wrote: >> >> Hello! >> >> I am seeing the antialiasing is still quite grainy using a QGraphicsView on mac. Is it possible to increase the device pixel ratio, or something similar? >> >> See attached screenshots, expanding to full rez before viewing. Note smoothness of retina button pixmaps at left VS jagged lines in middle. >> >> I am using a QOpenGLWidget for the viewport (though this doesn’t seem to matter): > > I vaguely remember that anti-aliasing doesn't work with an OpenGL view > (that was on a Linux machine). > >> view.setViewport(QOpenGLWidget()) > > Don't do that and the anti-aliasing will work. > > Chris > > > >> >> I am painting QPainterPaths like this: >> >> def paint(self, painter, option, widget): >> painter.save() >> painter.setPen(self.pen) >> painter.setBrush(self.brush) >> painter.drawPath(self.path) >> painter.restore() >> >> with the following render hints: >> >> view.setRenderHints(QPainter.Antialiasing|QPainter.HighQualityAntialiasing|QPainter.SmoothPixmapTransform|QPainter.TextAntialiasing) >> >> and the following attribute set on the QApplication: >> >> app.setAttribute(Qt.AA_UseHighDpiPixmaps, True) >> >> Thanks! >> -P >> >> >> >> >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest >> From patrickkidd at gmail.com Sat Oct 7 19:36:02 2017 From: patrickkidd at gmail.com (Patrick Stinson) Date: Sat, 7 Oct 2017 10:36:02 -0700 Subject: [Interest] Poor retina support for QGraphicsView on macOS? In-Reply-To: References: Message-ID: <57F48681-F762-4AFD-BC38-99CD4DDDFC74@gmail.com> Interesting. Can you suggest a sample size, or perhaps give a code example? I’m sure how this works. Thanks! > On Oct 7, 2017, at 10:01 AM, Jean-Michaël Celerier wrote: > > > Don't do that and the anti-aliasing will work. > > Or alternatively enable GL antialiasing for instance by using QSurfaceFormat::setSamples (http://doc.qt.io/qt-5/qsurfaceformat.html#setSamples) and passing the format to your GL viewport. However this ends up being quite slow on retina display in my experience. > > > > ------- > Jean-Michaël Celerier > http://www.jcelerier.name > >> On Sat, Oct 7, 2017 at 10:09 AM, Christian Gagneraud wrote: >> On 7 October 2017 at 16:11, Patrick Stinson wrote: >> > >> > Hello! >> > >> > I am seeing the antialiasing is still quite grainy using a QGraphicsView on mac. Is it possible to increase the device pixel ratio, or something similar? >> > >> > See attached screenshots, expanding to full rez before viewing. Note smoothness of retina button pixmaps at left VS jagged lines in middle. >> > >> > I am using a QOpenGLWidget for the viewport (though this doesn’t seem to matter): >> >> I vaguely remember that anti-aliasing doesn't work with an OpenGL view >> (that was on a Linux machine). >> >> > view.setViewport(QOpenGLWidget()) >> >> Don't do that and the anti-aliasing will work. >> >> Chris >> >> >> >> > >> > I am painting QPainterPaths like this: >> > >> > def paint(self, painter, option, widget): >> > painter.save() >> > painter.setPen(self.pen) >> > painter.setBrush(self.brush) >> > painter.drawPath(self.path) >> > painter.restore() >> > >> > with the following render hints: >> > >> > view.setRenderHints(QPainter.Antialiasing|QPainter.HighQualityAntialiasing|QPainter.SmoothPixmapTransform|QPainter.TextAntialiasing) >> > >> > and the following attribute set on the QApplication: >> > >> > app.setAttribute(Qt.AA_UseHighDpiPixmaps, True) >> > >> > Thanks! >> > -P >> > >> > >> > >> > >> > >> > _______________________________________________ >> > Interest mailing list >> > Interest at qt-project.org >> > http://lists.qt-project.org/mailman/listinfo/interest >> > >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest > -------------- next part -------------- An HTML attachment was scrubbed... URL: From patrickkidd at gmail.com Sat Oct 7 19:27:50 2017 From: patrickkidd at gmail.com (Patrick Stinson) Date: Sat, 7 Oct 2017 10:27:50 -0700 Subject: [Interest] Synchronous painting on QGraphicsScene In-Reply-To: References: <0645F461-B122-404B-AFC7-D15F29B56A24@gmail.com> Message-ID: Hmm. Actually, I think that the elastic node example is implemented in the same way as my app. Because of the delayed response of the “elasticity” in the algorithm it is not possible to demonstrate a solution to my problem even if it solved it. Like the elastic node example, I am implementing QGraphicsItem::itemChange for the node listening for QGraphicsItem::ItemPositionHasChanged, and then updating the edges’s geometry just after calling ::prepareGeometryChange. This queues an update for the next paint buffer, which is what causes my problem. What I am wondering is if it is possible to implement painting in a synchronous way, where all paint events which result from a single mouse event are done in the same buffer frame. Make sense? > On Oct 7, 2017, at 1:01 AM, Christian Gagneraud wrote: > > On 7 October 2017 at 16:08, Patrick Stinson wrote: >> Hi there! >> >> I have a graph-ish diagram app where dragging some objects (like nodes) necessitates dragging other objects (like connecting edges). However, if I update an edge from the mouse event or ItemChanged(position) event then the edge isn’t painted until the next paint event. At times, this is quite obvious for example when nudging a node with an arrow key and the node is going in one direction and edge goes in the other direction for one frame because it is one buffer behind. >> >> Any thoughts on synchronous painting? > > Have you check the "Elastic node" example? It does exactly what > you're describing. And last time i tried it, it worked very well, no > painting artifact. > How is your "update" done exactly? > > Chris > >> >> Thank you >> -Patrick >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest >> -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 1403 bytes Desc: not available URL: From asmaloney at gmail.com Sat Oct 7 20:58:03 2017 From: asmaloney at gmail.com (Andy) Date: Sat, 7 Oct 2017 14:58:03 -0400 Subject: [Interest] PostgreSQL cross compile for Pi In-Reply-To: References: <6423145.KxFm97uu14@tjmaciei-mobl1> Message-ID: I don't really want to play the "pile on" game (and sorry for hijacking the current thread), however as someone who cares about Qt and has been using it for a long time this is a particular source of real frustration. Bug reports often get labelled as "Reported" and then ignored (the "priority" only seems to make a difference if it's a showstopper, so why have the other levels?). Trying to contribute is often an exercise in frustration because it can take months for even the most trivial changes and often requires constant hounding of the "committers" to get reviewed/committed. (When it works though it can be awesome - it really improves the quality of the contributions.) This has been my experience over the years. I really want to contribute, and I try, but it's certainly not a lot of fun (which calls to mind Lars' talk at CppCon where one of the goals of the Qt project was to "Make Software Development Fun & Easy"). To be fair - this isn't uniquely a Qt issue - it's kind of a drawback of the open source model in general. It would be nice to discuss it though to see if we can come up with some ways to improve the process for Qt and make it easier/"more fun" for external contributors. Concrete(ish) suggestions: - for documentation/comment-only changes - maybe there's a different, faster path that could be introduced for these? - the main developers seem to be overwhelmed & pulled in 10 different directions - maybe there are some tasks/processes that can be offloaded to community members or automated? - are there reminder systems for "assigned" people? Maybe a weekly email of outstanding assigned issues sorted by priority and time-in-queue would help fewer things fall off the radar? (not sure if this already exists) (e.g. I have one P2 bug that's been "In Progress" since May.) - schedule a triage week every couple of months to go through the current backlog and reassess/re-prioritize? (again, don't know if this is done - doesn't seem like it from the outside) - (insert your suggestion here) --- Andy Maloney // https://asmaloney.com twitter ~ @asmaloney On Sat, Oct 7, 2017 at 1:27 PM, Krzysztof Kawa wrote: > I don't want to be mean Thiago, because I love Qt, I do appreciate > your hard work and all the people that make it happen, but you need to > consider that you're pretty big part of Qt and things around you do > move in a different pace. It's not the same for some of us. > As an example consider this P2 bug: > https://bugreports.qt.io/browse/QTBUG-52108. I reported it in 5.6.2. > It's 5.10 alpha now and it only deteriorated further. > You could say "well then fix it yourself". I did try to start > contributing. Take a look at this sad change log: > https://codereview.qt-project.org/#/c/196430 - the most absurdly > trivial 4 words of comment and it took almost 2 months to review it > (see by who btw.) and I gave up after 7 tries to stage it. Sorry, but > I can't imagine what it would take to add anything of substance this > way. > > 2017-10-07 18:51 GMT+02:00 Thiago Macieira : > > On Saturday, 7 October 2017 05:49:00 PDT Roland Hughes wrote: > >> I expect, like all OpenSource bugs, it will be ignored until the version > >> it is reported against is no longer supported, then it will become a > >> "closed" bug. > > > > Except for all the bugs that I close, which are only about the open > source > > version. As much as possible, I work on them immediately. > > > > Example: *this* week in the thread "QUdpSocket on Windows 10: > > QNetworkDatagram::destinationAddress/Port not set", I asked that a bug > be > > reported. It was (QTBUG-63605). I've already fixed it. It's making its > way > > through the verification and will be in the next release (5.9.3). > > > > So please take your negativity away and stop insulting those who > actually care > > about Qt. > > > > -- > > Thiago Macieira - thiago.macieira (AT) intel.com > > Software Architect - Intel Open Source Technology Center > > > > _______________________________________________ > > Interest mailing list > > Interest at qt-project.org > > http://lists.qt-project.org/mailman/listinfo/interest > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Sat Oct 7 21:52:52 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Sat, 07 Oct 2017 15:52:52 -0400 Subject: [Interest] PostgreSQL cross compile for Pi In-Reply-To: References: <6423145.KxFm97uu14@tjmaciei-mobl1> Message-ID: <1865946.jznbu5gaj1@tjmaciei-mobl1> On Saturday, 7 October 2017 13:27:50 EDT Krzysztof Kawa wrote: > I don't want to be mean Thiago, because I love Qt, I do appreciate > your hard work and all the people that make it happen, but you need to > consider that you're pretty big part of Qt and things around you do > move in a different pace. It's not the same for some of us. I can say the exact same thing to Roland: things move at different paces. But his email was an overgeneralisation and an insult to my dedication to Qt. I'm right now going to Germany so I can attend the Contributor Summit. I'm leaving during the weekend to stay in the country less than 72 hours, so I can be back in the office on Thursday. Making such a long trip (18 hours each way) is not easy. So yes, I am insulted. Just take this hint: don't generalise. > (see by who btw.) and I gave up after 7 tries to stage it. Sorry, but > I can't imagine what it would take to add anything of substance this > way. First of all, thank you for your contribution. It's greatly appreciated, especially for your perseverance in getting it through. Unfortunately, lots of our tests are unstable, often for no fault of their own. I share your pain (only it happens to me 50x more often). Sometimes it's a networking issue, as the datacentre running the tests saturates. Unfortunately, we also found out serious defects in the DC solution themselves, like the type of SAN solution that was used (it didn't scale to the types of needs we have and the provider was astonished by the volume that we were generating). -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From thiago.macieira at intel.com Sat Oct 7 22:11:02 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Sat, 07 Oct 2017 16:11:02 -0400 Subject: [Interest] PostgreSQL cross compile for Pi In-Reply-To: References: Message-ID: <1652920.cfBKUd4AKt@tjmaciei-mobl1> On Saturday, 7 October 2017 14:58:03 EDT Andy wrote: > I don't really want to play the "pile on" game (and sorry for hijacking the > current thread), however as someone who cares about Qt and has been using > it for a long time this is a particular source of real frustration. > > Bug reports often get labelled as "Reported" and then ignored (the > "priority" only seems to make a difference if it's a showstopper, so why > have the other levels?). Well, if we had infinite resources, we'd fix them all in priority order. We don't, so we fix what we can. At some point, we have to draw the line and cut a release. So yes, lower priority items will go unfixed (unless they re easy). They are, however, a great way for us to get new contributors. Usually, the lower priority items are not as complex, which allows people to "get their feet wet" in contributing to Qt. > Trying to contribute is often an exercise in frustration because it can > take months for even the most trivial changes and often requires constant > hounding of the "committers" to get reviewed/committed. (When it works > though it can be awesome - it really improves the quality of the > contributions.) I understand, and like to Krzysztof, thank you for your contributions. The fact that you are participating means others can focus on the complex things. I also share your pain. And to me it's worse because not only I have more changes to get reviewed, but often I am the only person who can review the change I made myself. According to our rules, I cannot self-approve and must make the effort to get others to review. My suggestion is that you send "ping" after a week of not getting a review. After another week, if it's still not approved, make sure the module's maintainer (me for QtCore) or the Chief Maintainer for orphaned modules is added to the review list, and specifically ask the maintainer for a decision. Two weeks is more than enough for at least some feedback. > To be fair - this isn't uniquely a Qt issue - it's kind of a drawback of > the open source model in general. It would be nice to discuss it though to > see if we can come up with some ways to improve the process for Qt and make > it easier/"more fun" for external contributors. I wish I had ideas on how to do that. > Concrete(ish) suggestions: > > - for documentation/comment-only changes - maybe there's a different, > faster path that could be introduced for these? That needs to be to non-.cpp files. That idea has merit, though. I remember one instance where a colleague made a simple one-line-comment change, I reviewed it and said ok, then we pushed. A few minutes later, another colleague came into our office and asked what the hell we were thinking, since we broke the build (this was before the CI existed). Turns out that we forgot the "//" to make the comment a comment. > - the main developers seem to be overwhelmed & pulled in 10 different > directions - maybe there are some tasks/processes that can be offloaded to > community members or automated? Like how? The only thing we can add to alleviate this problem is more people as reviewers. Anyone can give +1 and -1, but we don't seem to get enough new contributors. > - are there reminder systems for "assigned" people? Maybe a weekly email > of outstanding assigned issues sorted by priority and time-in-queue would > help fewer things fall off the radar? (not sure if this already exists) > (e.g. I have one P2 bug that's been "In Progress" since May.) Possibly, but speaking for myself, I'd just ignore that email. I already have my system and sending me more information is not going to make me work faster (but it could make me work slower). As for In Progress bugs, sometimes the change does take long to get worked through. But it also happens that it's accepted and committed, but the bug didn't change status. > - schedule a triage week every couple of months to go through the current > backlog and reassess/re-prioritize? (again, don't know if this is done - > doesn't seem like it from the outside) I can't dedicate a week non-stop to Qt, period. I dedicate 10 to 15 hours a week, and that's including evenings and weekends. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From asmaloney at gmail.com Sun Oct 8 00:11:09 2017 From: asmaloney at gmail.com (Andy) Date: Sat, 7 Oct 2017 18:11:09 -0400 Subject: [Interest] PostgreSQL cross compile for Pi In-Reply-To: <1652920.cfBKUd4AKt@tjmaciei-mobl1> References: <1652920.cfBKUd4AKt@tjmaciei-mobl1> Message-ID: On Sat, Oct 7, 2017 at 4:11 PM, Thiago Macieira wrote: > On Saturday, 7 October 2017 14:58:03 EDT Andy wrote: > > I don't really want to play the "pile on" game (and sorry for hijacking > the > > current thread), however as someone who cares about Qt and has been using > > it for a long time this is a particular source of real frustration. > > > > Bug reports often get labelled as "Reported" and then ignored (the > > "priority" only seems to make a difference if it's a showstopper, so why > > have the other levels?). > > Well, if we had infinite resources, we'd fix them all in priority order. We > don't, so we fix what we can. At some point, we have to draw the line and > cut a > release. So yes, lower priority items will go unfixed (unless they re > easy). > > They are, however, a great way for us to get new contributors. Usually, the > lower priority items are not as complex, which allows people to "get their > feet wet" in contributing to Qt. > Thanks for the response Thiago. Yes I understand the time constraints completely. I think some of where I'm coming from is that there are areas that feel like they are more focused on building new stuff at the expense of documenting & fixing the older stuff. So the balance feels off (from the outside - I'm sure there are lots of issues at play we aren't aware of, so maybe it's just a communication thing). I certainly don't want to come off as ungrateful for the work all contributors do. It's an amazing piece of technology. > > Trying to contribute is often an exercise in frustration because it can > > take months for even the most trivial changes and often requires constant > > hounding of the "committers" to get reviewed/committed. (When it works > > though it can be awesome - it really improves the quality of the > > contributions.) > > I understand, and like to Krzysztof, thank you for your contributions. The > fact that you are participating means others can focus on the complex > things. > > I also share your pain. And to me it's worse because not only I have more > changes to get reviewed, but often I am the only person who can review the > change I made myself. According to our rules, I cannot self-approve and > must > make the effort to get others to review. > > My suggestion is that you send "ping" after a week of not getting a review. > After another week, if it's still not approved, make sure the module's > maintainer (me for QtCore) or the Chief Maintainer for orphaned modules is > added to the review list, and specifically ask the maintainer for a > decision. > Two weeks is more than enough for at least some feedback. > Ok, thank you. I'm starting to do that a little more and I am seeing some movement on things. Part of this might be cultural as well. To me bothering someone over-and-over to do something is kind of rude, so it doesn't come naturally :-) If that's the "accepted practice" then I'll work on my pinging skills. > > To be fair - this isn't uniquely a Qt issue - it's kind of a drawback of > > the open source model in general. It would be nice to discuss it though > to > > see if we can come up with some ways to improve the process for Qt and > make > > it easier/"more fun" for external contributors. > > I wish I had ideas on how to do that. > > > Concrete(ish) suggestions: > > > > - for documentation/comment-only changes - maybe there's a different, > > faster path that could be introduced for these? > > That needs to be to non-.cpp files. That idea has merit, though. > > I remember one instance where a colleague made a simple one-line-comment > change, I reviewed it and said ok, then we pushed. A few minutes later, > another colleague came into our office and asked what the hell we were > thinking, > since we broke the build (this was before the CI existed). > > Turns out that we forgot the "//" to make the comment a comment. > :-) Yes, certainly there are hurdles, but documentation fixes/changes seem like they should be easier somehow. Because I don't know all the Gerrit/CI details I'm not 100% sure how this might be accomplished. [Thinking out loud] Can the Sanity Bot figure out if the changes are just comments? Maybe when submitted the commits can be marked as docs only, the Sanity bot can complain if anything else changed, and then comment-only changes can be batched together for integration. Would avoid the issue Krzysztof mentioned (which I've also run into). Maybe comment-only changes only require +1? > > - the main developers seem to be overwhelmed & pulled in 10 different > > directions - maybe there are some tasks/processes that can be offloaded > to > > community members or automated? > > Like how? The only thing we can add to alleviate this problem is more > people > as reviewers. Anyone can give +1 and -1, but we don't seem to get enough > new > contributors. > I'm not sure because I'm not in the position, so I don't know all the day-to-day stuff that's being dealt with. I feel like there are some of us on the "outside" that are willing to spend some time & resources, but aren't because of the frustrations. So maybe there's another way to engage this group (assuming it doesn't just exist in my head :-) to use them more effectively? > > - are there reminder systems for "assigned" people? Maybe a weekly > email > > of outstanding assigned issues sorted by priority and time-in-queue would > > help fewer things fall off the radar? (not sure if this already exists) > > (e.g. I have one P2 bug that's been "In Progress" since May.) > > Possibly, but speaking for myself, I'd just ignore that email. I already > have > my system and sending me more information is not going to make me work > faster > (but it could make me work slower). > Fair enough. Just throwing out ideas. > As for In Progress bugs, sometimes the change does take long to get worked > through. But it also happens that it's accepted and committed, but the bug > didn't change status. > True. This case is neither of those, but I do understand. > > - schedule a triage week every couple of months to go through the > current > > backlog and reassess/re-prioritize? (again, don't know if this is done - > > doesn't seem like it from the outside) > > I can't dedicate a week non-stop to Qt, period. I dedicate 10 to 15 hours a > week, and that's including evenings and weekends. > Ok - again, just throwing out ideas to try to stimulate discussion. I'm not sure if having a huge list of "not-going-to-fix, but I'm going to leave them open" bugs makes sense, but maybe the time trade-off isn't worth it. > -- > Thiago Macieira - thiago.macieira (AT) intel.com > Software Architect - Intel Open Source Technology Center > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > --- Andy Maloney // https://asmaloney.com twitter ~ @asmaloney -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeanmichael.celerier at gmail.com Sun Oct 8 01:20:23 2017 From: jeanmichael.celerier at gmail.com (=?UTF-8?Q?Jean=2DMicha=C3=ABl_Celerier?=) Date: Sun, 8 Oct 2017 01:20:23 +0200 Subject: [Interest] Poor retina support for QGraphicsView on macOS? In-Reply-To: <57F48681-F762-4AFD-BC38-99CD4DDDFC74@gmail.com> References: <57F48681-F762-4AFD-BC38-99CD4DDDFC74@gmail.com> Message-ID: > Can you suggest a sample size, 8 or 16 maybe ? I find 4 to be a bit pixelated. > or perhaps give a code example? QOpenGLWidget* w = new QOpenGLWidget;; auto fmt = QSurfaceFormat::getDefaultFormat(); fmt.setSamples(16); w->setFormat(fmt); view.setViewport(w); ------- Jean-Michaël Celerier http://www.jcelerier.name On Sat, Oct 7, 2017 at 7:36 PM, Patrick Stinson wrote: > Interesting. Can you suggest a sample size, or perhaps give a code > example? I’m sure how this works. Thanks! > > On Oct 7, 2017, at 10:01 AM, Jean-Michaël Celerier < > jeanmichael.celerier at gmail.com> wrote: > > > Don't do that and the anti-aliasing will work. > > Or alternatively enable GL antialiasing for instance by using > QSurfaceFormat::setSamples (http://doc.qt.io/qt-5/ > qsurfaceformat.html#setSamples) and passing the format to your GL > viewport. However this ends up being quite slow on retina display in my > experience. > > > > ------- > Jean-Michaël Celerier > http://www.jcelerier.name > > On Sat, Oct 7, 2017 at 10:09 AM, Christian Gagneraud > wrote: > >> On 7 October 2017 at 16:11, Patrick Stinson >> wrote: >> > >> > Hello! >> > >> > I am seeing the antialiasing is still quite grainy using a >> QGraphicsView on mac. Is it possible to increase the device pixel ratio, or >> something similar? >> > >> > See attached screenshots, expanding to full rez before viewing. Note >> smoothness of retina button pixmaps at left VS jagged lines in middle. >> > >> > I am using a QOpenGLWidget for the viewport (though this doesn’t seem >> to matter): >> >> I vaguely remember that anti-aliasing doesn't work with an OpenGL view >> (that was on a Linux machine). >> >> > view.setViewport(QOpenGLWidget()) >> >> Don't do that and the anti-aliasing will work. >> >> Chris >> >> >> >> > >> > I am painting QPainterPaths like this: >> > >> > def paint(self, painter, option, widget): >> > painter.save() >> > painter.setPen(self.pen) >> > painter.setBrush(self.brush) >> > painter.drawPath(self.path) >> > painter.restore() >> > >> > with the following render hints: >> > >> > view.setRenderHints(QPainter.Antialiasing|QPainter.HighQuali >> tyAntialiasing|QPainter.SmoothPixmapTransform|QPainter.TextAntialiasing) >> > >> > and the following attribute set on the QApplication: >> > >> > app.setAttribute(Qt.AA_UseHighDpiPixmaps, True) >> > >> > Thanks! >> > -P >> > >> > >> > >> > >> > >> > _______________________________________________ >> > Interest mailing list >> > Interest at qt-project.org >> > http://lists.qt-project.org/mailman/listinfo/interest >> > >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From roland at logikalsolutions.com Sun Oct 8 02:28:44 2017 From: roland at logikalsolutions.com (Roland Hughes) Date: Sat, 7 Oct 2017 19:28:44 -0500 Subject: [Interest] PostgreSQL cross compile for Pi In-Reply-To: References: Message-ID: On 10/07/2017 05:15 PM, interest-request at qt-project.org wrote: >> On Saturday, 7 October 2017 14:58:03 EDT Andy wrote: >>> I don't really want to play the "pile on" game (and sorry for hijacking >> the >>> current thread), however as someone who cares about Qt and has been using >>> it for a long time this is a particular source of real frustration. >>> >>> Bug reports often get labelled as "Reported" and then ignored (the >>> "priority" only seems to make a difference if it's a showstopper, so why >>> have the other levels?). >> Well, if we had infinite resources, we'd fix them all in priority order. We >> don't, so we fix what we can. At some point, we have to draw the line and >> cut a >> release. So yes, lower priority items will go unfixed (unless they re >> easy). >> >> They are, however, a great way for us to get new contributors. Usually, the >> lower priority items are not as complex, which allows people to "get their >> feet wet" in contributing to Qt. >> > Thanks for the response Thiago. > > Yes I understand the time constraints completely. I think some of where I'm > coming from is that there are areas that feel like they are more focused on > building new stuff at the expense of documenting & fixing the older stuff. > So the balance feels off (from the outside - I'm sure there are lots of > issues at play we aren't aware of, so maybe it's just a communication > thing). > > I certainly don't want to come off as ungrateful for the work all > contributors do. It's an amazing piece of technology. I do thank you for your work Thiago, and it is not negativity, just frank appraisal as others in this thread have eluded to without saying it so plainly. Adding to the stinging feeling was the recent rash of emails from OpenSuSE and Ubuntu, most of which were automated "version no longer supported." For a brief moment I thought I had the first ever Linux email virus. While I didn't go back to check the date, the OpenSuSE bugs had to be at least 6 years old because I haven't used OpenSuSE in that many years. >>> Trying to contribute is often an exercise in frustration because it can >>> take months for even the most trivial changes and often requires constant >>> hounding of the "committers" to get reviewed/committed. (When it works >>> though it can be awesome - it really improves the quality of the >>> contributions.) >> I understand, and like to Krzysztof, thank you for your contributions. The >> fact that you are participating means others can focus on the complex >> things. >> >> I also share your pain. And to me it's worse because not only I have more >> changes to get reviewed, but often I am the only person who can review the >> change I made myself. According to our rules, I cannot self-approve and >> must >> make the effort to get others to review. >> >> My suggestion is that you send "ping" after a week of not getting a review. >> After another week, if it's still not approved, make sure the module's >> maintainer (me for QtCore) or the Chief Maintainer for orphaned modules is >> added to the review list, and specifically ask the maintainer for a >> decision. >> Two weeks is more than enough for at least some feedback. >> > Ok, thank you. I'm starting to do that a little more and I am seeing some > movement on things. Part of this might be cultural as well. To me bothering > someone over-and-over to do something is kind of rude, so it doesn't come > naturally:-) If that's the "accepted practice" then I'll work on my > pinging skills. > > >>> To be fair - this isn't uniquely a Qt issue - it's kind of a drawback of >>> the open source model in general. It would be nice to discuss it though >> It's a problem which plagues every OpenSource project I have ever utilized. The problem is epidemic at the distro level where abandonware just keeps getting compiled and included in the next version. The KDE tree seems to be the worst offender in that regard. KBiblio (or whatever it is called) hasn't been maintained in over half a decade. Long ago it ceased to work with any blog system I tried it on, yet it keeps getting included, even in Neon. Emerald/nView (whatever) WYSIWYG Web page editors were long ago abandoned for Blue Griffon but most distros still include the long dead projects because someone set up the build script to include them and they still compile. They haven't really worked in a long time, but, there they are for the noob to pull down and be frustrated with. >> I remember one instance where a colleague made a simple one-line-comment >> change, I reviewed it and said ok, then we pushed. A few minutes later, >> another colleague came into our office and asked what the hell we were >> thinking, >> since we broke the build (this was before the CI existed). >> >> Turns out that we forgot the "//" to make the comment a comment. >> > :-) Yes, certainly there are hurdles, but documentation fixes/changes seem > like they should be easier somehow. Because I don't know all the Gerrit/CI > details I'm not 100% sure how this might be accomplished. While the comment story is horrible, it points out a rather wretched flaw in the AGILE/TDD development method. There is no requirement for a clean build prior to a commit. I recently left a project where developers would hack out a change, hack out the QTest, check them in, nag for a code review which would be very light because of all the other time constraints only to find the automated build process died. Adding insult to injury, a build was something like 6 hours so you could only get 2 done per day. Adding carnage to the situation, the PC oriented method of source control and automated builds didn't allow the ability to regenerate the last known stable build. I came from the big stuff. Not the massive blue iron world, but the DEC world of global clusters long before we had the Internet. I covered the development/code control process in this book. http://theminimumyouneedtoknow.com/app_book.html Boiling it down there were Development environments D01-D99, integrated testing environments T01-T99, Production build environments P01-P99, and Production Support environments S01-S99. Not every shop created all 99 environments because of resource limitations, but they all had command files to auto-spin a new number up as needed. Developers flashed from the chosen P environment to their assigned D environment. When they "thought" they were done and could show the log of a clean scorched earth build they would be assigned a T environment for integration testing. Multiple D's would be assigned to the same T (usually what was going to be included in a production turn) for integration testing. Once it passed with user acceptance it would be scheduled for a move to a P environment. (Usually P01. You only had multiple P environments in use when there were massive unrelated changes being staged over days.) After a production turn had been live for N days it rolled to a production support environment. I've yet to encounter a PC/OpenSource world which follows this rigor. As a result, things get backed up. In my experience, which seems to be the experience of others in this thread, is the "ignoring of things" isn't an issue with the lack of production quality rigor, but the thrill of writing new code for new features. Nobody wants to fix bugs and even fewer people want to fix other people's bugs, everybody wants to put their name on a new feature and new features are what draw in new users, not stability. As a result, bugs age off and users who needed those bugs addressed choose some other development tool. Yes, compiled Qt is great and resource friendly, but, when your delivery date is fixed and you can't work around a bug deemed low priority by the maintainers, you move to a different tool for some/all of your project. > [Thinking out loud] > Can the Sanity Bot figure out if the changes are just comments? Maybe when > submitted the commits can be marked as docs only, the Sanity bot can > complain if anything else changed, and then comment-only changes can be > batched together for integration. Would avoid the issue Krzysztof mentioned > (which I've also run into). > > Maybe comment-only changes only require +1? >> Like how? The only thing we can add to alleviate this problem is more >> people >> as reviewers. Anyone can give +1 and -1, but we don't seem to get enough >> new >> contributors. >> > I'm not sure because I'm not in the position, so I don't know all the > day-to-day stuff that's being dealt with. I feel like there are some of us > on the "outside" that are willing to spend some time & resources, but > aren't because of the frustrations. So maybe there's another way to engage > this group (assuming it doesn't just exist in my head:-) to use them more > effectively? Lack of new contributors is a self feeding problem. Without an easily understood production level rigor to the control and submittal process, developers like the pair in this thread, become frustrated and stop contributing. Without trying to beat a dead horse, a build process which only a hallowed few understand isn't sexy or attractive. When I left the last AGILE project I will _ever_ work on we had one guy who was notorious for hounding everyone else to review his changes, but boy could he ignore those automated emails to review others. He was a nice guy and skilled developer, but if you review request had more than 3 files in it, the thing would rot in his inbox unless he desperately needed you to review his 20+ source file change. (Changes which impacted 40+ source files were nothing there. Don't get me started.) In a corporate environment this is an easy policy fix. Each week developers must participate in N code reviews. It doesn't fix the problem of everybody reviewing the code assuming the developer actually compiled it, thus missing the fact the comment doesn't have // in front of it, but, it is a first step. The problem with letting code reviews rot is the fact those changes won't be any good once something else goes in. Even if the auto-merge works, the change can now break the other change which went in. The second problem has been the issue others in this thread eluded to. When their change seemed to grow moss they quit submitting other fixes. A long time ago I submitted bug reports with some simple changes needed in QChar. They were just some tests for characters, hex digits and something else. I submitted them with the bug report. No idea if they made it in. I had to create a custom derived QChar class for the project. Most likely that product is still using that change today. While time is always an issue, "the group" could institute a policy that _your_ review request cannot be acted on until you have reviewed at least one outsider submittal. The _your_ would be whoever in the inner circle has just checked in for review. A project cannot get new contributors if submissions don't get reviewed in a timely manner. If a tight nit group of developers focuses on doing their own code and only reviewing each other's code, the problem of no new contributors will continue. One of your comments did trouble me. I don't think I still have it in what is left of this message, but you said something about you being the only one who could review most of your changes. As a generalized rule, peer review is for coding standards via diffs and checking for stupid things like uninitialized variables as well as comments. That is what it "should" be, especially with a large code base. An indepth code review would also be checking against the SAG and FSD to ensure neither System Architecture or Functional Specification were violated. While you took insult at my appraisal at the process, I would ask you to put yourself in the shoes of the thousands of people each day who get an automated "version no longer supported" closure message for the bugs they either reported or opted to follow because it impacted them. I'm not saying they get them all from the Qt project, but given the number of distros and OpenSource projects most of us have to use daily, we get email onslaughts when a version goes out of scope with a massive number of open bug reports, many of which never made it past "Reported" meaning nobody ever looked at them to move them to "Confirmed" status. I know it isn't vogue in the PC world, but in the big systems commercial world, it is not unusual for companies to declare a "stabilization year" where no product enhancements/new features get looked at. Instead, that calendar year is spent digging through the mountain of "bugs" as either real or "new feature" then assigning all of the real bugs to be swept up. Why? Because today's low priority not fun to fix bug is tomorrow's Equifax headline. Just my 0.0002 cents. -- Roland Hughes, President Logikal Solutions (630)-205-1593 http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.johnsmith-book.com http://www.logikalblog.com http://www.interestingauthors.com/blog http://lesedi.us/ http://onedollarcontentstore.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From chgans at gmail.com Sun Oct 8 05:00:32 2017 From: chgans at gmail.com (Christian Gagneraud) Date: Sun, 8 Oct 2017 16:00:32 +1300 Subject: [Interest] Synchronous painting on QGraphicsScene In-Reply-To: References: <0645F461-B122-404B-AFC7-D15F29B56A24@gmail.com> Message-ID: On 8 October 2017 at 06:27, Patrick Stinson wrote: > Hmm. Actually, I think that the elastic node example is implemented in the > same way as my app. Because of the delayed response of the “elasticity” in > the algorithm it is not possible to demonstrate a solution to my problem > even if it solved it. > > Like the elastic node example, I am implementing QGraphicsItem::itemChange > for the node listening for QGraphicsItem::ItemPositionHasChanged, and then > updating the edges’s geometry just after calling ::prepareGeometryChange. > This queues an update for the next paint buffer, which is what causes my > problem. If you can notice the time lag b/w the 2 paint events, it means that something is slow. Slow enough to cause a 20+ ms delay. So maybe your problem is elsewhere. Do you have this problem even without the opengl view? If i'm not wrong, although the paint() on the edge item is not called within your mouse event of the node. the edge should be repainted right after the mouse event has finished, which should be a very short time period. But maybe you're talking about "paint buffer" in the OpenGL pipeline? > What I am wondering is if it is possible to implement painting in a > synchronous way, where all paint events which result from a single mouse > event are done in the same buffer frame. Or maybe your python code is too slow to make the 2 paint event fits in a single buffer frame timeline. Chris > > Make sense? > > > On Oct 7, 2017, at 1:01 AM, Christian Gagneraud wrote: > > On 7 October 2017 at 16:08, Patrick Stinson wrote: > > Hi there! > > I have a graph-ish diagram app where dragging some objects (like nodes) > necessitates dragging other objects (like connecting edges). However, if I > update an edge from the mouse event or ItemChanged(position) event then the > edge isn’t painted until the next paint event. At times, this is quite > obvious for example when nudging a node with an arrow key and the node is > going in one direction and edge goes in the other direction for one frame > because it is one buffer behind. > > Any thoughts on synchronous painting? > > > Have you check the "Elastic node" example? It does exactly what > you're describing. And last time i tried it, it worked very well, no > painting artifact. > How is your "update" done exactly? > > Chris > > > Thank you > -Patrick > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > From patrickkidd at gmail.com Sun Oct 8 05:03:09 2017 From: patrickkidd at gmail.com (Patrick Stinson) Date: Sat, 7 Oct 2017 20:03:09 -0700 Subject: [Interest] Synchronous painting on QGraphicsScene In-Reply-To: References: <0645F461-B122-404B-AFC7-D15F29B56A24@gmail.com> Message-ID: <8C6D820F-D8C8-4C1F-A8FF-171DD99D5CCC@gmail.com> > On Oct 7, 2017, at 8:00 PM, Christian Gagneraud wrote: > > On 8 October 2017 at 06:27, Patrick Stinson wrote: >> Hmm. Actually, I think that the elastic node example is implemented in the >> same way as my app. Because of the delayed response of the “elasticity” in >> the algorithm it is not possible to demonstrate a solution to my problem >> even if it solved it. >> >> Like the elastic node example, I am implementing QGraphicsItem::itemChange >> for the node listening for QGraphicsItem::ItemPositionHasChanged, and then >> updating the edges’s geometry just after calling ::prepareGeometryChange. >> This queues an update for the next paint buffer, which is what causes my >> problem. > > If you can notice the time lag b/w the 2 paint events, it means that > something is slow. Slow enough to cause a 20+ ms delay. > So maybe your problem is elsewhere. Do you have this problem even > without the opengl view? What I mean is that this is visible if I move the mouse one pixel, or event more visible (and quite annoying) if I nudge the node (say, 10 pixels at a time) with the arrow keys. > > If i'm not wrong, although the paint() on the edge item is not called > within your mouse event of the node. the edge should be repainted > right after the mouse event has finished, which should be a very short > time period. > > But maybe you’re talking about "paint buffer" in the OpenGL pipeline? I think you had me right. I (sadly) don’t know anything about OpenGL! > >> What I am wondering is if it is possible to implement painting in a >> synchronous way, where all paint events which result from a single mouse >> event are done in the same buffer frame. > > Or maybe your python code is too slow to make the 2 paint event fits > in a single buffer frame timeline. > > Chris > >> >> Make sense? >> >> >> On Oct 7, 2017, at 1:01 AM, Christian Gagneraud wrote: >> >> On 7 October 2017 at 16:08, Patrick Stinson wrote: >> >> Hi there! >> >> I have a graph-ish diagram app where dragging some objects (like nodes) >> necessitates dragging other objects (like connecting edges). However, if I >> update an edge from the mouse event or ItemChanged(position) event then the >> edge isn’t painted until the next paint event. At times, this is quite >> obvious for example when nudging a node with an arrow key and the node is >> going in one direction and edge goes in the other direction for one frame >> because it is one buffer behind. >> >> Any thoughts on synchronous painting? >> >> >> Have you check the "Elastic node" example? It does exactly what >> you're describing. And last time i tried it, it worked very well, no >> painting artifact. >> How is your "update" done exactly? >> >> Chris >> >> >> Thank you >> -Patrick >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest >> >> -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 1403 bytes Desc: not available URL: From vperetokin at gmail.com Sun Oct 8 13:05:38 2017 From: vperetokin at gmail.com (Vadim Peretokin) Date: Sun, 08 Oct 2017 11:05:38 +0000 Subject: [Interest] Qt internalisation support for C++11 raw literals Message-ID: Is anyone running a C++ project that does their translation with Qt? I'm having trouble with lupdate barfing on raw literals and found a corresponding bug report on it. I find it hard to believe that the "most widely used C++ framework" doesn't support raw literals in i18n 6 years after the standard was released, so I hope I'm in the wrong on this. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeanmichael.celerier at gmail.com Sun Oct 8 13:06:23 2017 From: jeanmichael.celerier at gmail.com (=?UTF-8?Q?Jean=2DMicha=C3=ABl_Celerier?=) Date: Sun, 8 Oct 2017 13:06:23 +0200 Subject: [Interest] PostgreSQL cross compile for Pi In-Reply-To: References: <6423145.KxFm97uu14@tjmaciei-mobl1> Message-ID: - schedule a triage week every couple of months to go through the current backlog and reassess/re-prioritize? (again, don't know if this is done - doesn't seem like it from the outside) This should maybe also include the bugreports whose assignee went missing years ago and are just stalled (or worse, "closed due to inactivity"). I must say in choir with the others posters here that I wanted to contribute a bit but I'm honestly giving up after some weeks of doing changes -> calling maintainers -> maintainers suggest another set of changes, etc., mostly because this means that by the time my patch actually ends up in a released version of qt it's almost a year (plus realistically a few more months waiting for the usual patch releases to sort out problems with macOS 10.18 "Random Waterfall")... I may not even be working on qt software (or software at all) so far in time so the effort / reward ratio ends up being less interesting than contributing to projects where the whole "propose patch -> CI & sanity check pass -> patch applied" process is a matter of hours. I guess this is due to the "industrial" requirements of many Qt users, though in my small experience I already saw the following happen: * business B uses a tech A for years and lobbies against big updates and breaking changes "for stability concerns" * developers of tech A want to keep the business as a client so they limit changes to the max * developers at the business B, etc are slowly getting fed up with working with software full of old practices and legacy bugs * in the meantime some other shiny new tech is being developed by random guys on a github repo * tech debt at business B accumulates, developers are even more fed up when they look at the new tech which looks oh so shiny * one day a dev of business B does a proof of concept of a remake of their software with the new tech and show it to B's business owner while telling them "it took 1/10th of the time it takes to develop with tech A!" * business B decides a complete switch from tech A to new tech and the company that develops tech A gets less and less clients and are reducted to using predatory practices to keep their clients. This could (maybe, maybe not...) have been averted if tech A had more ambitious updates that did not fear doing breaking changes from time to time to make the overall thing easier to use. Best, ------- Jean-Michaël Celerier http://www.jcelerier.name On Sat, Oct 7, 2017 at 8:58 PM, Andy wrote: > I don't really want to play the "pile on" game (and sorry for hijacking > the current thread), however as someone who cares about Qt and has been > using it for a long time this is a particular source of real frustration. > > Bug reports often get labelled as "Reported" and then ignored (the > "priority" only seems to make a difference if it's a showstopper, so why > have the other levels?). > > Trying to contribute is often an exercise in frustration because it can > take months for even the most trivial changes and often requires constant > hounding of the "committers" to get reviewed/committed. (When it works > though it can be awesome - it really improves the quality of the > contributions.) > > This has been my experience over the years. I really want to contribute, > and I try, but it's certainly not a lot of fun (which calls to mind Lars' > talk at CppCon where one of the goals of the Qt project was to "Make > Software Development Fun & Easy"). > > > To be fair - this isn't uniquely a Qt issue - it's kind of a drawback of > the open source model in general. It would be nice to discuss it though to > see if we can come up with some ways to improve the process for Qt and make > it easier/"more fun" for external contributors. > > Concrete(ish) suggestions: > > - for documentation/comment-only changes - maybe there's a different, > faster path that could be introduced for these? > - the main developers seem to be overwhelmed & pulled in 10 different > directions - maybe there are some tasks/processes that can be offloaded to > community members or automated? > - are there reminder systems for "assigned" people? Maybe a weekly email > of outstanding assigned issues sorted by priority and time-in-queue would > help fewer things fall off the radar? (not sure if this already exists) > (e.g. I have one P2 bug that's been "In Progress" since May.) > - schedule a triage week every couple of months to go through the > current backlog and reassess/re-prioritize? (again, don't know if this is > done - doesn't seem like it from the outside) > > - (insert your suggestion here) > > --- > Andy Maloney // https://asmaloney.com > twitter ~ @asmaloney > > > On Sat, Oct 7, 2017 at 1:27 PM, Krzysztof Kawa > wrote: > >> I don't want to be mean Thiago, because I love Qt, I do appreciate >> your hard work and all the people that make it happen, but you need to >> consider that you're pretty big part of Qt and things around you do >> move in a different pace. It's not the same for some of us. >> As an example consider this P2 bug: >> https://bugreports.qt.io/browse/QTBUG-52108. I reported it in 5.6.2. >> It's 5.10 alpha now and it only deteriorated further. >> You could say "well then fix it yourself". I did try to start >> contributing. Take a look at this sad change log: >> https://codereview.qt-project.org/#/c/196430 - the most absurdly >> trivial 4 words of comment and it took almost 2 months to review it >> (see by who btw.) and I gave up after 7 tries to stage it. Sorry, but >> I can't imagine what it would take to add anything of substance this >> way. >> >> 2017-10-07 18:51 GMT+02:00 Thiago Macieira : >> > On Saturday, 7 October 2017 05:49:00 PDT Roland Hughes wrote: >> >> I expect, like all OpenSource bugs, it will be ignored until the >> version >> >> it is reported against is no longer supported, then it will become a >> >> "closed" bug. >> > >> > Except for all the bugs that I close, which are only about the open >> source >> > version. As much as possible, I work on them immediately. >> > >> > Example: *this* week in the thread "QUdpSocket on Windows 10: >> > QNetworkDatagram::destinationAddress/Port not set", I asked that a bug >> be >> > reported. It was (QTBUG-63605). I've already fixed it. It's making its >> way >> > through the verification and will be in the next release (5.9.3). >> > >> > So please take your negativity away and stop insulting those who >> actually care >> > about Qt. >> > >> > -- >> > Thiago Macieira - thiago.macieira (AT) intel.com >> > Software Architect - Intel Open Source Technology Center >> > >> > _______________________________________________ >> > Interest mailing list >> > Interest at qt-project.org >> > http://lists.qt-project.org/mailman/listinfo/interest >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest >> > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From patrickkidd at gmail.com Sun Oct 8 17:37:13 2017 From: patrickkidd at gmail.com (Patrick Stinson) Date: Sun, 8 Oct 2017 08:37:13 -0700 Subject: [Interest] Poor retina support for QGraphicsView on macOS? In-Reply-To: References: <57F48681-F762-4AFD-BC38-99CD4DDDFC74@gmail.com> Message-ID: Very cool. This worked well for the OpenGL viewport. Thank you Jean-Michaël and Christian for your two solutions for this problem. > On Oct 7, 2017, at 4:20 PM, Jean-Michaël Celerier wrote: > > > Can you suggest a sample size, > > 8 or 16 maybe ? I find 4 to be a bit pixelated. > > > or perhaps give a code example? > > QOpenGLWidget* w = new QOpenGLWidget;; > > auto fmt = QSurfaceFormat::getDefaultFormat(); > fmt.setSamples(16); > > w->setFormat(fmt); > view.setViewport(w); > > > > ------- > Jean-Michaël Celerier > http://www.jcelerier.name > On Sat, Oct 7, 2017 at 7:36 PM, Patrick Stinson > wrote: > Interesting. Can you suggest a sample size, or perhaps give a code example? I’m sure how this works. Thanks! > > On Oct 7, 2017, at 10:01 AM, Jean-Michaël Celerier > wrote: > >> > Don't do that and the anti-aliasing will work. >> >> Or alternatively enable GL antialiasing for instance by using QSurfaceFormat::setSamples (http://doc.qt.io/qt-5/qsurfaceformat.html#setSamples ) and passing the format to your GL viewport. However this ends up being quite slow on retina display in my experience. >> >> >> >> ------- >> Jean-Michaël Celerier >> http://www.jcelerier.name >> On Sat, Oct 7, 2017 at 10:09 AM, Christian Gagneraud > wrote: >> On 7 October 2017 at 16:11, Patrick Stinson > wrote: >> > >> > Hello! >> > >> > I am seeing the antialiasing is still quite grainy using a QGraphicsView on mac. Is it possible to increase the device pixel ratio, or something similar? >> > >> > See attached screenshots, expanding to full rez before viewing. Note smoothness of retina button pixmaps at left VS jagged lines in middle. >> > >> > I am using a QOpenGLWidget for the viewport (though this doesn’t seem to matter): >> >> I vaguely remember that anti-aliasing doesn't work with an OpenGL view >> (that was on a Linux machine). >> >> > view.setViewport(QOpenGLWidget()) >> >> Don't do that and the anti-aliasing will work. >> >> Chris >> >> >> >> > >> > I am painting QPainterPaths like this: >> > >> > def paint(self, painter, option, widget): >> > painter.save() >> > painter.setPen(self.pen) >> > painter.setBrush(self.brush) >> > painter.drawPath(self.path) >> > painter.restore() >> > >> > with the following render hints: >> > >> > view.setRenderHints(QPainter.Antialiasing|QPainter.HighQualityAntialiasing|QPainter.SmoothPixmapTransform|QPainter.TextAntialiasing) >> > >> > and the following attribute set on the QApplication: >> > >> > app.setAttribute(Qt.AA_UseHighDpiPixmaps, True) >> > >> > Thanks! >> > -P >> > >> > >> > >> > >> > >> > _______________________________________________ >> > Interest mailing list >> > Interest at qt-project.org >> > http://lists.qt-project.org/mailman/listinfo/interest >> > >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 1403 bytes Desc: not available URL: From roland at logikalsolutions.com Sun Oct 8 23:52:15 2017 From: roland at logikalsolutions.com (Roland Hughes) Date: Sun, 8 Oct 2017 16:52:15 -0500 Subject: [Interest] Interest Digest, Vol 73, Issue 14 In-Reply-To: References: Message-ID: <028eb322-7040-3582-5abd-6c8cae6944d4@logikalsolutions.com> On 10/08/2017 10:41 AM, interest-request at qt-project.org wrote: > - schedule a triage week every couple of months to go through the current > backlog and reassess/re-prioritize? (again, don't know if this is done - > doesn't seem like it from the outside) > > This should maybe also include the bugreports whose assignee went missing > years ago and are just stalled (or worse, "closed due to inactivity"). Yes, once the 12 year old boy who volunteered to fix it actually discovers girls, well, their interest in programming vaporizes... > I must say in choir with the others posters here that I wanted to > contribute a bit but I'm honestly giving up after some weeks of doing > changes -> calling maintainers -> maintainers suggest another set of > changes, etc., mostly because this means that by the time my patch actually > ends up in a released version of qt it's almost a year (plus realistically > a few more months waiting for the usual patch releases to sort out problems > with macOS 10.18 "Random Waterfall")... I may not even be working on qt > software (or software at all) so far in time so the effort / reward ratio > ends up being less interesting than contributing to projects where the > whole "propose patch -> CI & sanity check pass -> patch applied" process is > a matter of hours. > > I guess this is due to the "industrial" requirements of many Qt users, > though in my small experience I already saw the following happen: > * business B uses a tech A for years and lobbies against big updates and > breaking changes "for stability concerns" > * developers of tech A want to keep the business as a client so they limit > changes to the max > * developers at the business B, etc are slowly getting fed up with working > with software full of old practices and legacy bugs > * in the meantime some other shiny new tech is being developed by random > guys on a github repo > * tech debt at business B accumulates, developers are even more fed up when > they look at the new tech which looks oh so shiny > * one day a dev of business B does a proof of concept of a remake of their > software with the new tech and show it to B's business owner while telling > them "it took 1/10th of the time it takes to develop with tech A!" > * business B decides a complete switch from tech A to new tech and the > company that develops tech A gets less and less clients and are reducted to > using predatory practices to keep their clients. > > This could (maybe, maybe not...) have been averted if tech A had more > ambitious updates that did not fear doing breaking changes from time to > time to make the overall thing easier to use. > > Best, > > ------- > Jean-Micha?l Celerier > http://www.jcelerier.name Jean, An interesting perspective. On the PC side of life, I have no doubt it is true. On the big systems side of life, it will never be true. Y2K happened because management kept saying "oh we're gonna replace that system" whenever developers said "we need to fix this." All of the replacement systems failed so a mad rush of patching occurred. Another mad rush will happen around 2027 if you feel like doing COBOL. Don't know why, but 2027 seemed to be the hack year chosen for most entry screens which did not have room for a 4 digit year. Wanna know why it is going to happen? "Oh, we're gonna replace that system." Core business systems get replaced under these conditions: 1) The company drops an entire business line. (The Chicago Stock Exchange got rid of its trading floor, moving to a completely automated system without specialists or any floor personnel. The "temporary" trading floor system which started out on the PDP in the 1970s, moved to the VAX in the 1980s, the Alpha in the 1990s and the Itanium processor in the 2000's finally hit the end of its "temporary" life.) 2) The company is eaten by a larger/more cash flush corporation which forces them onto the corporate system. 3) The hardware and OS vendor goes out of business without any third party emulators. Think Wang computers and even Singer computers. If you want more modern examples, Oracle is pulling the plug on SUN Sparc so systems which relied on the massive threading capability of the platform have to either die or be reworked to run on lesser platforms. Software is used to run a business which makes money doing something else, so there is no incentive to jump ship. Technically, you can continue to run long after the hardware and OS vendor has went out of business as long as there are third party hardware maintenance companies with a stock pile of parts. I know one CAT location is rumored to have used a certain model PDP to control all its drilling and milling equipment at their Aurora, IL location. Story goes when DEC announced they would make no more CAT went out and bought every used one they could find, parked them in a storage location and cannibalized them for parts for the next twenty some years. They are in the process of closing that work or the plant down, have slowly been for years. That is how the PDP's eventually stopped being used. On the PC side of life, we have similar situations for both industrial and medical. Industrial test equipment (and there is a lot of it) needs to be stable and certified. When it is going into some kind of assembly line or plant, the buyer wants the _exact_ same interface on each unit even if it does different things based on where it is in the line. They want to be able to move factory workers at a moment's notice. In the FDA regulated world, you have the clinical trials process each change must go through. For surgical robots that involves a bunch of cadavers first for your own internal testing, then for FDA approval and whatever else the FDA wants done. (Not as easy as it might sound. You have to wait for people to die with the organs you need in their original locations __and__ they have to have willed their body to science.) Personally, I do not remember the FDA testing and approval process for this device: https://www.welchallyn.com/en/products/categories/patient-monitoring/vital-signs-devices/connex-spot-monitor.html I remember I was told at some point, but my job was only to write roughly half of the C++/Qt UI code adhering to all of the FDA development regulations, fixing anything the independent QA team found. In the medical device world, you have automatic updates turned off in your Linux development environment. That "move quickly and break things" shit causes millions of dollars worth of problems. Sometimes it even leads to products which get onto the market then appear in those late night personal injury lawyer commercials. While I don't doubt you have seen what you say, I would like to point one thing out: * developers of tech A want to keep the business as a client so they limit changes to the max * developers at the business B, etc are slowly getting fed up with working with software full of old practices and legacy bugs Developers of tech A did _exactly_ what Qt is doing now which means they are doing it wrong. "Limit changes to the max" means they focused on shiny new features while letting bug reports rot. I submit the phrase "legacy bugs" as proof. While "old practices" may or may not be changeable, they do not drive a business from a technology. I just went to indeed.com in a browser I had never used to get there. Searched for "cobol programmer" without any location. Full-time (218) Contract (85) Part-time (10) Temporary (6) Commission (2) Internship (1) "fortran programmer" no location Full-time (43) Contract (3) Part-time (2) Commission (1) Temporary (1) "forth programmer" no location Full-time (95) Contract (7) Part-time (4) Commission (2) While many of today's "script kiddies" can't be bothered to learn disciplined software development, enough can and do. I chose those languages because phone and Web people consider them dead tech. They seem to ignore the fact COBOL runs almost every (probably every) payroll system on the planet. FORTRAN is still massive in the scientific and research communities because it has capabilities no other language possesses. At least the commercial proprietary platform versions do. The GNU version cannot have more capabilities than the C language back end. (Yes, I know they p-compile things to the GNU language and that gets compiled by the back end, but the original back end was for the C compiler...no need to veer off in minutia.) Believe it or not, FORTH is still used in a _lot_ of embedded systems __and__ AI. indeed.com sucks when it comes to searching for ADA. I see it constantly in the DOD/military contractor postings, but you just can't search for it. Sorry, I guess I did veer off a bit. At any rate, the powers that be behind Qt have chosen to add "sexy new features" at the expense of bugs. Mostly this is to chase new markets which will have a catastrophic effect on the product. You cannot serve multiple masters. QML was a mistake of biblical proportions. I've heard all of the bogus justifications about "further segregating interface" blah blah blah. The truth is script kiddies don't have the discipline to learn C++ so they tried to change Qt into a script kiddie friendly product. Ironically they did it to chase the phone market. I say ironically because QML is a yuuuuuuuuuuuuuuuuuuge resource pig. http://www.logikalsolutions.com/wordpress/information-technology/raspberry-qt-part-12-qml-blows-big-stinky-chunks/ Frack! When I migrated to a new host the video player plug-in wasn't compatible. I need to poke around for a new one tomorrow to fix that post so you can see the indescribably wretched performance of QML on a Pi 2 vs. the same application compiled from C++ and widgets. You can at least pull the code down and try yourself. QML's massively intense resource consumption inhales battery life so the choice of app developers seems insane. Idiot phones are now having battery life measured in minutes while flip phones have about 2 days worth of talk, not stand bye, time. Personally, I've never seen the point in chasing the phone market. Your app has the lifespan of a fruit fly. The next forced out Android/Apple/whatever update will break it. Windows Mobile has been abandoned. Google is dropping Android, moving to Fuchsia (sp?) in the next year or so. Ubuntu is also moving to Fuchsia, abandoning Linux. Windows isn't even going to be Windows 2 years from now. It is going to be a Microsoft front end on top of what used to be Ubuntu Linux. They've already started the process with Windows 10. Adding insult to injury phone developers push for a zillion "cool new features" in Qt adding even more bugs to the pile of bugs currently being ignore while developers slave away trying to add those "cool new features." In short, they are "developers of tech A" in your example. The existing medical, industrial and agricultural device industry using Qt (massive by the way) will not be able to continue using the tool because the pursuit of "cool new features" blocks the bugs they need fixed. Today's phone operating systems will cease to exist within two years, requiring a soup to nuts redevelopment of Qt adding more bugs. Personally, I don't know what Apple is moving their iPhone to, nor do I care. I know that every phone OS vendor is seeking "one ring to rule them all" right now. A single OS for Phone, laptop, desktop, server, and IoT. Ubuntu had to punt on their phone http://www.techradar.com/news/canonicals-dream-for-an-ubuntu-phone-is-dead so they have their own fork of Fuchsia (sp?) Unit was a grotesque desktop so I'm kind of glad it all failed. Now if Neon could fully divorce itself from Ubuntu... -- Roland Hughes, President Logikal Solutions (630)-205-1593 http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.johnsmith-book.com http://www.logikalblog.com http://www.interestingauthors.com/blog http://lesedi.us/ http://onedollarcontentstore.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From rjvbertin at gmail.com Mon Oct 9 10:40:52 2017 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Mon, 09 Oct 2017 10:40:52 +0200 Subject: [Interest] QtHelp for Chrome browser extension? Message-ID: <1621218.sW8YP9KPB7@bola> Hi, This is an idea that came up when discussion the fact that it seems overkill to embed an almost full-fledged browser (WebKit or WebEngine) into an IDE just for the sake of browser API documentation. Would it be possible (feasible) to write an extension for Chrome-based browsers that adds qthelp: support to them? If so, does one exist already? Thanks, René From dmytro.haponov at gmail.com Mon Oct 9 18:38:05 2017 From: dmytro.haponov at gmail.com (Dmytro Haponov) Date: Mon, 9 Oct 2017 19:38:05 +0300 Subject: [Interest] change qt virtual keyboard style during run time Message-ID: How can style of qvirtualkeyboard be changed during run time? simply changing* QT_VIRTUALKEYBOARD_STYLE* to other style from console does not do anything. Besides, once I have *qputenv("QT_VIRTUALKEYBOARD_STYLE", QByteArray("1111")); *in main() - why is "*echo $QT_VIRTUALKEYBOARD_STYLE*" empty? I'm pretty sure style "1111" works, as I can clearly this custom style of mine. Thanks, Dmytro Haponov -------------- next part -------------- An HTML attachment was scrubbed... URL: From roland at logikalsolutions.com Mon Oct 9 21:37:08 2017 From: roland at logikalsolutions.com (Roland Hughes) Date: Mon, 9 Oct 2017 14:37:08 -0500 Subject: [Interest] PostgreSQL cross compile for Pi In-Reply-To: References: Message-ID: <8364c521-0cb1-051c-6cad-54b99fefb87e@logikalsolutions.com> While we are on the topic, here is the lovely response. http://www.logikalsolutions.com/wordpress/wp-content/uploads/2017/10/Screenshot_20171009_143236.png No Sir By God! Not gonna look at a blog post with screen shots and everything in it. Wants it cut & pasted into a text only box. And they marked it RESOLVED! That's the kind of support people find soooooooooooooooooooooooo endearing. -- Roland Hughes, President Logikal Solutions (630)-205-1593 http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.johnsmith-book.com http://www.logikalblog.com http://www.interestingauthors.com/blog http://lesedi.us/ http://onedollarcontentstore.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From giuseppe.dangelo at kdab.com Mon Oct 9 22:30:34 2017 From: giuseppe.dangelo at kdab.com (Giuseppe D'Angelo) Date: Mon, 9 Oct 2017 22:30:34 +0200 Subject: [Interest] PostgreSQL cross compile for Pi In-Reply-To: <8364c521-0cb1-051c-6cad-54b99fefb87e@logikalsolutions.com> References: <8364c521-0cb1-051c-6cad-54b99fefb87e@logikalsolutions.com> Message-ID: <1f159ebb-4d28-71d9-1de5-b63d177e7767@kdab.com> Il 09/10/2017 21:37, Roland Hughes ha scritto: > While we are on the topic, here is the lovely response. > > http://www.logikalsolutions.com/wordpress/wp-content/uploads/2017/10/Screenshot_20171009_143236.png > > No Sir By God! Not gonna look at a blog post with screen shots and > everything in it. Wants it cut & pasted into a text only box. There is a reason for this, which is: the knowledge about the bug stays within Qt's systems. What if we submit a change to fix something, referencing the blog post, and then that post disappears? We would've lost a lot of important information about what the bug was and why the fix made sense. So please take the 2 minutes necessary to copy&paste the information in the bug report itself. > And they marked it RESOLVED! Huh? It's clearly not resolved? -- Giuseppe D'Angelo | giuseppe.dangelo at kdab.com | Senior Software Engineer KDAB (UK) Ltd., a KDAB Group company | Tel: UK +44-1625-809908 KDAB - Qt, C++ and OpenGL Experts -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 4007 bytes Desc: Firma crittografica S/MIME URL: From hamish at risingsoftware.com Mon Oct 9 23:54:48 2017 From: hamish at risingsoftware.com (Hamish Moffatt) Date: Tue, 10 Oct 2017 08:54:48 +1100 Subject: [Interest] PostgreSQL cross compile for Pi In-Reply-To: <8364c521-0cb1-051c-6cad-54b99fefb87e@logikalsolutions.com> References: <8364c521-0cb1-051c-6cad-54b99fefb87e@logikalsolutions.com> Message-ID: On 10/10/17 06:37, Roland Hughes wrote: > > While we are on the topic, here is the lovely response. > Be reasonable. Just linking to your rambling blog in the bug report is not reasonable. Hamish From bhood2 at comcast.net Mon Oct 9 23:55:13 2017 From: bhood2 at comcast.net (Bob Hood) Date: Mon, 9 Oct 2017 15:55:13 -0600 Subject: [Interest] PostgreSQL cross compile for Pi In-Reply-To: <1f159ebb-4d28-71d9-1de5-b63d177e7767@kdab.com> References: <8364c521-0cb1-051c-6cad-54b99fefb87e@logikalsolutions.com> <1f159ebb-4d28-71d9-1de5-b63d177e7767@kdab.com> Message-ID: On 10/9/2017 2:30 PM, Giuseppe D'Angelo wrote: > Il 09/10/2017 21:37, Roland Hughes ha scritto: >> While we are on the topic, here is the lovely response. >> >> http://www.logikalsolutions.com/wordpress/wp-content/uploads/2017/10/Screenshot_20171009_143236.png >> >> >> No Sir By God! Not gonna look at a blog post with screen shots and >> everything in it. Wants it cut & pasted into a text only box. > > There is a reason for this, which is: the knowledge about the bug stays > within Qt's systems. What if we submit a change to fix something, > referencing the blog post, and then that post disappears? We would've lost a > lot of important information about what the bug was and why the fix made > sense. So please take the 2 minutes necessary to copy&paste the information > in the bug report itself. > >> And they marked it RESOLVED! > > Huh? It's clearly not resolved? We use JIRA as well, and it is our practice to close reports with comments (like the one Roland has pointed out) when we need more information.  The user (reporter) gets notified of the closure, and the request for info is included with that notification. The user can reply to the notification, which then re-opens the issue. It may be that the Trolls are using the same workflow, so you need only reply with the additional info, and the issue report will be re-opened.  By the same token, if you never reply, then it stays closed and off their radar. From Sudhir.Sharma at mindtree.com Tue Oct 10 06:25:24 2017 From: Sudhir.Sharma at mindtree.com (Sudhir Sharma) Date: Tue, 10 Oct 2017 04:25:24 +0000 Subject: [Interest] Print() not working in 5.9.2 Message-ID: Hi, These seems to be some issue with Print(). It does not seem to work on 5.9.2. In fact not seen it working in any version of QT 5. Windows 64 bit. QTextDocument *document = new QTextDocument(); QPrinter printer; QPrintDialog *dialog = new QPrintDialog(&printer, this); Print Dialog not show up. Return code of dialog->exec() does match QDialog::Accepted Regards, Sudhir ________________________________ http://www.mindtree.com/email/disclaimer.html -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeanmichael.celerier at gmail.com Tue Oct 10 07:32:49 2017 From: jeanmichael.celerier at gmail.com (=?UTF-8?Q?Jean=2DMicha=C3=ABl_Celerier?=) Date: Tue, 10 Oct 2017 07:32:49 +0200 Subject: [Interest] change qt virtual keyboard style during run time In-Reply-To: References: Message-ID: > Besides, once I have *qputenv("QT_VIRTUALKEYBOARD_STYLE", QByteArray("1111")); *in main() - why is "*echo $QT_VIRTUALKEYBOARD_STYLE*" empty? For the same reason that doing bash -c 'export BLAH=1111' && echo $BLAH does not echo 1111: environment variables are scoped to their process (and child processes). Best, ------- Jean-Michaël Celerier http://www.jcelerier.name On Mon, Oct 9, 2017 at 6:38 PM, Dmytro Haponov wrote: > How can style of qvirtualkeyboard be changed during run time? > > > > simply changing* QT_VIRTUALKEYBOARD_STYLE* to other style from console > does not do anything. > > Besides, once I have *qputenv("QT_VIRTUALKEYBOARD_STYLE", > QByteArray("1111")); *in main() - why is "*echo $QT_VIRTUALKEYBOARD_STYLE*" > empty? I'm pretty sure style "1111" works, as I can clearly this custom > style of mine. > > Thanks, > Dmytro Haponov > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fpiechocki at gmail.com Tue Oct 10 08:34:07 2017 From: fpiechocki at gmail.com (Filip Piechocki) Date: Tue, 10 Oct 2017 08:34:07 +0200 Subject: [Interest] QtMqtt In-Reply-To: References: Message-ID: Hi, so how is it going? QtWS starts today, QtMqtt was mentioned in Qt 5.10 beta release yesterday but I cannot find it anywhere... BR, Filip On Mon, Sep 25, 2017 at 11:05 AM, Maurice Kalinowski < Maurice.Kalinowski at qt.io> wrote: > Hi Filip, > > > > I’m afraid to say “not yet”. We’ve been struggling with getting the > infrastructure in place (with positive updates over the weekend). Currently > there are logistical items to be done (license header updates, etc.), but > we are progressing nicely now. > > > > The aim is to have everything available (also Qt Knx) within the Qt World > Summit timeframe. Probably, or hopefully, earlier. > > > > BR, > > Maurice > > > > > > *From:* Interest [mailto:interest-bounces+maurice.kalinowski=qt.io at qt- > project.org] *On Behalf Of *Filip Piechocki > *Sent:* Friday, September 22, 2017 3:10 PM > *To:* interest at qt-project.org Interest > *Subject:* [Interest] QtMqtt > > > > Hi, > > It's been over a month since the QtMqtt blog post ( > http://blog.qt.io/blog/2017/08/14/introducing-qtmqtt-protocol/) but I > can't find the code to download. Is it already available somewhere? > > > > Best regards, > > Filip Piechocki > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hamish at risingsoftware.com Tue Oct 10 08:37:38 2017 From: hamish at risingsoftware.com (Hamish Moffatt) Date: Tue, 10 Oct 2017 17:37:38 +1100 Subject: [Interest] Print() not working in 5.9.2 In-Reply-To: References: Message-ID: <71f681dc-daec-481b-7c20-71729d38f2a0@risingsoftware.com> On 10/10/17 15:25, Sudhir Sharma wrote: > > Hi, > > These seems to be some issue with Print(). It does not seem to work on > 5.9.2. In fact not seen it working in any version of QT 5. Windows 64 bit. > > QTextDocument*document = newQTextDocument(); > > QPrinterprinter; > > QPrintDialog*dialog = newQPrintDialog(&printer, this); > > Print Dialog not show up. > > Return code of dialog->exec() does match QDialog::Accepted > Do you have printsupport enabled (QT += printsupport in qmake)? Do you have the plugin deployed? (windowsprintersupport.dll in plugins\printsupport)? Hamish -------------- next part -------------- An HTML attachment was scrubbed... URL: From Sudhir.Sharma at mindtree.com Tue Oct 10 08:41:16 2017 From: Sudhir.Sharma at mindtree.com (Sudhir Sharma) Date: Tue, 10 Oct 2017 06:41:16 +0000 Subject: [Interest] Print() not working in 5.9.2 In-Reply-To: <71f681dc-daec-481b-7c20-71729d38f2a0@risingsoftware.com> References: <71f681dc-daec-481b-7c20-71729d38f2a0@risingsoftware.com> Message-ID: Thanks for your response. It works now. I was using wrong DLLs Regards, Sudhir From: Hamish Moffatt [mailto:hamish at risingsoftware.com] Sent: Tuesday, October 10, 2017 12:08 PM To: Sudhir Sharma Cc: interest at qt-project.org Subject: Re: [Interest] Print() not working in 5.9.2 * You are receiving this mail from an external source * On 10/10/17 15:25, Sudhir Sharma wrote: Hi, These seems to be some issue with Print(). It does not seem to work on 5.9.2. In fact not seen it working in any version of QT 5. Windows 64 bit. QTextDocument *document = new QTextDocument(); QPrinter printer; QPrintDialog *dialog = new QPrintDialog(&printer, this); Print Dialog not show up. Return code of dialog->exec() does match QDialog::Accepted Do you have printsupport enabled (QT += printsupport in qmake)? Do you have the plugin deployed? (windowsprintersupport.dll in plugins\printsupport)? Hamish ________________________________ http://www.mindtree.com/email/disclaimer.html -------------- next part -------------- An HTML attachment was scrubbed... URL: From redknight106 at googlemail.com Tue Oct 10 08:42:44 2017 From: redknight106 at googlemail.com (Ben W) Date: Tue, 10 Oct 2017 07:42:44 +0100 Subject: [Interest] QT for Asus Tinker Message-ID: Hello, all. Has anyone tried and successfully installed and used QT creator on the Asus Tinker? As it is very little to no information on doing such a thing. I’ve found this QT blog but sadly I get 200+ errors when trying to build a very simple program when following this post. http://blog.qt.io/blog/2017/05/03/qt-git-tinkerboard-wayland/#comments I hope someone can assist me. Kind regards Ben W -------------- next part -------------- An HTML attachment was scrubbed... URL: From hamish at risingsoftware.com Tue Oct 10 08:45:58 2017 From: hamish at risingsoftware.com (Hamish Moffatt) Date: Tue, 10 Oct 2017 17:45:58 +1100 Subject: [Interest] move methods in QList Message-ID: <576ae28d-2fb9-8bdd-ec2f-02ed5b2b66c5@risingsoftware.com> I'm interested in storing a big structure in QList, and I would like to move it to the list, but unlike std::list QList does not seem to have push_back(T&&), insert(..., T&&) etc. Should I use std::list instead? Or use a QList of pointers (eg QSharedPointer) to my structure? Or construct a default item and move my new one over it, as in Big itemToAppend; QList list; list.append(Big()); list.last() = std::move(itemToAppend); Are there any plans to add the move methods to QList etc? Hamish From michael.corcoran at outlook.com Tue Oct 10 09:04:47 2017 From: michael.corcoran at outlook.com (Michael Corcoran) Date: Tue, 10 Oct 2017 07:04:47 +0000 Subject: [Interest] move methods in QList In-Reply-To: <576ae28d-2fb9-8bdd-ec2f-02ed5b2b66c5@risingsoftware.com> References: <576ae28d-2fb9-8bdd-ec2f-02ed5b2b66c5@risingsoftware.com> Message-ID: QList is basically an array of pointers. I'd suggest a read of https://marcmutz.wordpress.com/effective-qt/containers/. That's the best explanation of Qt containers (+ compared to STL) you're likely to find anywhere. Regards, Mike ________________________________________ From: Interest on behalf of Hamish Moffatt Sent: Tuesday, 10 October 2017 7:45 p.m. To: interest at qt-project.org Subject: [Interest] move methods in QList I'm interested in storing a big structure in QList, and I would like to move it to the list, but unlike std::list QList does not seem to have push_back(T&&), insert(..., T&&) etc. Should I use std::list instead? Or use a QList of pointers (eg QSharedPointer) to my structure? Or construct a default item and move my new one over it, as in Big itemToAppend; QList list; list.append(Big()); list.last() = std::move(itemToAppend); Are there any plans to add the move methods to QList etc? Hamish _______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest From andrew at dkai.dk Tue Oct 10 09:07:44 2017 From: andrew at dkai.dk (Andrew Ialacci) Date: Tue, 10 Oct 2017 07:07:44 +0000 Subject: [Interest] move methods in QList In-Reply-To: <576ae28d-2fb9-8bdd-ec2f-02ed5b2b66c5@risingsoftware.com> References: <576ae28d-2fb9-8bdd-ec2f-02ed5b2b66c5@risingsoftware.com> Message-ID: I personally favor QVector and use it instead of QList. There are times though when you must use a QList because some class or function requires it. For example many of the Qt JSON classes deal with QLists instead of QVectors. Take a read over this thread from SO: https://stackoverflow.com/questions/33609406/qlist-vs-qvector-revisited Depending on your use case, also check out QVarLengthArray. On 10/10/17, 8:46 AM, "Interest on behalf of Hamish Moffatt" wrote: I'm interested in storing a big structure in QList, and I would like to move it to the list, but unlike std::list QList does not seem to have push_back(T&&), insert(..., T&&) etc. Should I use std::list instead? Or use a QList of pointers (eg QSharedPointer) to my structure? Or construct a default item and move my new one over it, as in Big itemToAppend; QList list; list.append(Big()); list.last() = std::move(itemToAppend); Are there any plans to add the move methods to QList etc? Hamish _______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest From andre at familiesomers.nl Tue Oct 10 09:11:34 2017 From: andre at familiesomers.nl (=?UTF-8?Q?Andr=c3=a9_Somers?=) Date: Tue, 10 Oct 2017 09:11:34 +0200 Subject: [Interest] move methods in QList In-Reply-To: <576ae28d-2fb9-8bdd-ec2f-02ed5b2b66c5@risingsoftware.com> References: <576ae28d-2fb9-8bdd-ec2f-02ed5b2b66c5@risingsoftware.com> Message-ID: <6282aceb-250c-c147-fb56-edf9e4497ee5@familiesomers.nl> std::list cannot be compared to QList, and likely neither data structure is what you are looking for. QList should, IMO, not be used for new code if it can be avoided, and is certainly not suitable for using with anying Big. With big as in: bigger than size of a pointer. And linked-lists like std::list should not be anyones choice of data structure unless they have very specific requirements that make such structures outperform other data structures. André Op 10/10/2017 om 08:45 schreef Hamish Moffatt: > I'm interested in storing a big structure in QList, and I would like > to move it to the list, but unlike std::list QList does not seem to > have push_back(T&&), insert(..., T&&) etc. > > Should I use std::list instead? Or use a QList of pointers (eg > QSharedPointer) to my structure? Or construct a default item and move > my new one over it, as in > > Big itemToAppend; > QList list; > list.append(Big()); > list.last() = std::move(itemToAppend); > > Are there any plans to add the move methods to QList etc? > > > Hamish > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest From Maurice.Kalinowski at qt.io Tue Oct 10 09:35:18 2017 From: Maurice.Kalinowski at qt.io (Maurice Kalinowski) Date: Tue, 10 Oct 2017 07:35:18 +0000 Subject: [Interest] QtMqtt In-Reply-To: References: , Message-ID: Hi, Only with limited network right now, but the repo has been opened yesterday evening and you can find it here https://codereview.qt-project.org/#/admin/projects/qt/qtmqtt Also jira has a component for it. Be, Maurice Outlook for Android herunterladen ________________________________ From: Filip Piechocki Sent: Tuesday, October 10, 2017 8:34:07 AM To: Maurice Kalinowski Cc: interest at qt-project.org Interest Subject: Re: [Interest] QtMqtt Hi, so how is it going? QtWS starts today, QtMqtt was mentioned in Qt 5.10 beta release yesterday but I cannot find it anywhere... BR, Filip On Mon, Sep 25, 2017 at 11:05 AM, Maurice Kalinowski > wrote: Hi Filip, I’m afraid to say “not yet”. We’ve been struggling with getting the infrastructure in place (with positive updates over the weekend). Currently there are logistical items to be done (license header updates, etc.), but we are progressing nicely now. The aim is to have everything available (also Qt Knx) within the Qt World Summit timeframe. Probably, or hopefully, earlier. BR, Maurice From: Interest [mailto:interest-bounces+maurice.kalinowski=qt.io at qt-project.org] On Behalf Of Filip Piechocki Sent: Friday, September 22, 2017 3:10 PM To: interest at qt-project.org Interest > Subject: [Interest] QtMqtt Hi, It's been over a month since the QtMqtt blog post (http://blog.qt.io/blog/2017/08/14/introducing-qtmqtt-protocol/) but I can't find the code to download. Is it already available somewhere? Best regards, Filip Piechocki -------------- next part -------------- An HTML attachment was scrubbed... URL: From journals.mcnally at gmail.com Tue Oct 10 11:31:51 2017 From: journals.mcnally at gmail.com (Mcnally (Journals)) Date: Tue, 10 Oct 2017 10:31:51 +0100 Subject: [Interest] QApplication::ApplicationStateChanged Signal Not Emitted With -platform EGLFS Message-ID: <013b01d341aa$9b0ccef0$d1266cd0$@gmail.com> Hi all, I have a QApplication object have connected its QApplicationStateChanged signal to a slot in a custom object. In the slot, I test on the Qt::ApplicationState parameter and, if the QApplication is in the ApplicationReady state I begin drawing objects on my interface. This works fine when run with the default plugin (I am assuming XCB but not sure how to confirm that) but when run with -platform eglfs the signal doesn't seem to be emitted. Or, perhaps more accurately, the connected slot is not called. I can verify that the application state changes by querying and printing the QApplication::ApplicationState() at different times - the state certainly does change from 2 (ApplicationInactive) to 4 (ApplicationReady) but the signal is never emitted. I can emit the signal myself before the call to app.exec() but this results in drawing being done before the window is initialised and positioning, scaling etc. doesn't behave as it should. I can create a single-shot timer and connect the QTimer::timeout() signal to a slot which emits the QApplication::ApplicationStateChanged signal with the correct state, but this feels a bit of a nasty hack around it. Is there something I'm missing? I'm developing in Debian Jessie 64bit and Qt 5.9. Also running on an Odroid XU4 but the described behaviour is evident in both environments In case it's of benefit, I can provide some example code: int main(int argc, char *argv[]) { QApplication app(argc, argv); std::cout << "Application state: " << app.applicationState();//Output here is: Application state: 2 std::cin.ignore(); MyObject* mObject = new MyObject(&engine, window, mPrint_info, &app);//App only passed here to be used in timed ApplicationState slot QThread::connect(&app, SIGNAL(applicationStateChanged(Qt::ApplicationState )), MyObject, SLOT(app_state(Qt::ApplicationState )));//Connect application's StateChanged() signal to handler in MyObject. Using this mechanism, we can draw elements on the view when the window has initialised. This connection works with the default platform but doesn't seem to work in eglfs. QTimer* myTimer = new QTimer(); myTimer->setInterval(1000); QThread::connect(myTimer, SIGNAL(timeout()), MyObject, SLOT(temp())); myTimer->start(); //Inside temp() is an emit->app->applicationStateChanged(Qt::ApplicationReady). This is a (hopefully) temporary workaround to get drawing working properly in EGLFS. rc = app.exec(); delete component; return rc; } And in MyObject: void MyObject::app_state(Qt::ApplicationState state)//This needs to be called after the UI has initialised and all widths, heights etc. have valid values. Works well in default platform { if(state == Qt::ApplicationState::ApplicationActive) { if(!this->work_set) { //Draw to GUI //Other logic this->sensors_set = true; } } } void LabelUpdater::temp()//When called from the QTimer slot after 1second, this allows drawing to be performed as expected running in EGLFS { std::cout << "[LabelUpdater::temp()]: In temp();" << std::endl; if( app->applicationState() == Qt::ApplicationActive ) emit this->app->applicationStateChanged(Qt::ApplicationActive); } -------------- next part -------------- An HTML attachment was scrubbed... URL: From rjvbertin at gmail.com Tue Oct 10 11:35:10 2017 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Tue, 10 Oct 2017 11:35:10 +0200 Subject: [Interest] someclass.h, someclass_alternative.cpp and auto moc Message-ID: <2560121.qmezc95dp2@bola> Hi, Apologies for asking something that should probably be evident (I can't come up with a specific enough google search term). I'm getting inspiration from Qt's Assistant sources to modify KDevelop's documentation viewer so it can use QTextBrowser instead of WebKit or WebEngine. It currently has a single standarddocumentationview.cpp file that implements the support for both web frameworks. I began by adding USE_QTEXTBROWSER #ifdefs but am now looking to clean things up by moving the QTB implementation to its own file. There are so many differences that there isn't much point in keeping a standarddocumentationview.cpp file for the few remaining common code. The standarddocumentationview.h header is used by documentation plugins, so I cannot really change that (the rendering framework is supposed to be hidden). KDevelop uses CMake, so here's how I modified the docviewer cmake file at first: if(KDEVELOP_USE_QTEXTBROWSER) set(KDevPlatformDocumentation_LIB_SRCS standarddocumentationview_qtb.cpp) else() set(KDevPlatformDocumentation_LIB_SRCS standarddocumentationview.cpp) endif() set(KDevPlatformDocumentation_LIB_SRCS ${KDevPlatformDocumentation_LIB_SRCS} documentationfindwidget.cpp documentationview.cpp ) Sadly I get a number of link errors that show that something goes wrong with the moc files. The standarddocumentationview_qtb.cpp file wants its own standarddocumentationview_qtb.moc file, but then it will apparently miss anything defined in standarddocumentationview.h . This approach only works if I keep standarddocumentationview.cpp included with almost all code #ifdef'ed out and have it include its own standarddocumentationview.moc file. That's better than nothing but is there no more elegant way to do what I'm trying to do here? Thanks, René From Sudhir.Sharma at mindtree.com Tue Oct 10 11:36:50 2017 From: Sudhir.Sharma at mindtree.com (Sudhir Sharma) Date: Tue, 10 Oct 2017 09:36:50 +0000 Subject: [Interest] QWebEngine Opening File Save/Open dialogs Message-ID: Hi, In QT 5.9.2. Win64, if the HTML loaded in WebEngine has button to invoke Save or Open File Dialog. It does not get invoked. Any idea if that is possible? Regards, Sudhir ________________________________ http://www.mindtree.com/email/disclaimer.html -------------- next part -------------- An HTML attachment was scrubbed... URL: From roland at logikalsolutions.com Tue Oct 10 17:03:21 2017 From: roland at logikalsolutions.com (Roland Hughes) Date: Tue, 10 Oct 2017 10:03:21 -0500 Subject: [Interest] PostgreSQL cross compile for Pi In-Reply-To: References: Message-ID: <59557987-680f-ef08-c23d-f23ef5922a19@logikalsolutions.com> If YOU need a copy of something which clearly will not fit within the confines of the bug tracker system YOU take the additional time to copy it. Turning your argument around, what happens when your current bug tracking system disappears and is replaced by something else? You _still_ lose the history. A deep bug history is only necessary when bugs are allowed to rot for decades. All actual changes must be accompanied by comments with the bug fix so the source code keeps its own history. On 10/10/2017 01:45 AM, interest-request at qt-project.org wrote: >> While we are on the topic, here is the lovely response. >> >> http://www.logikalsolutions.com/wordpress/wp-content/uploads/2017/10/Screenshot_20171009_143236.png >> >> No Sir By God! Not gonna look at a blog post with screen shots and >> everything in it. Wants it cut & pasted into a text only box. > There is a reason for this, which is: the knowledge about the bug stays > within Qt's systems. What if we submit a change to fix something, > referencing the blog post, and then that post disappears? We would've > lost a lot of important information about what the bug was and why the > fix made sense. So please take the 2 minutes necessary to copy&paste the > information in the bug report itself. > -- Roland Hughes, President Logikal Solutions (630)-205-1593 http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.johnsmith-book.com http://www.logikalblog.com http://www.interestingauthors.com/blog http://lesedi.us/ http://onedollarcontentstore.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From roland at logikalsolutions.com Tue Oct 10 17:11:41 2017 From: roland at logikalsolutions.com (Roland Hughes) Date: Tue, 10 Oct 2017 10:11:41 -0500 Subject: [Interest] PostgreSQL cross compile for Pi In-Reply-To: References: Message-ID: <539492d0-6935-2b21-20ab-86bd3e32c0b2@logikalsolutions.com> It is totally reasonable to provide a link to a post with far more content than the bug tracking system can contain. If they, whoever they are, feel the need to replicate data then they should replicate the portion they actually worked on. This bug is a shining example of the failure of AGILE and TDD. A "story" got posted.     As a developer I would like a set of steps to setup a cross compile for the Raspberry Pi. "The developer" was left to their own devices. There was no System Architecture Guide, Systems Requirements Document, Business Requirements Document, or Functional Requirements Document from which a QA group would have required a single test application which utilized each of the database components, WebEngine, and whatever else was available in the current Raspbian repos. They would have also required the build environment be a 64-bit machine compiling for a 32-bit target so bugs in the instructions could not be masked. The "sprintable solution" was "Hello World!" so that's what got delivered. That is also why you see so many incredibly angry comments about that wiki page and every blog post which references it. On 10/10/2017 01:45 AM, interest-request at qt-project.org wrote: >> While we are on the topic, here is the lovely response. >> > Be reasonable. > > Just linking to your rambling blog in the bug report is not reasonable. > > > Hamish -- Roland Hughes, President Logikal Solutions (630)-205-1593 http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.johnsmith-book.com http://www.logikalblog.com http://www.interestingauthors.com/blog http://lesedi.us/ http://onedollarcontentstore.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From roland at logikalsolutions.com Tue Oct 10 17:30:56 2017 From: roland at logikalsolutions.com (Roland Hughes) Date: Tue, 10 Oct 2017 10:30:56 -0500 Subject: [Interest] PostgreSQL cross compile for Pi In-Reply-To: References: Message-ID: <7aaf3481-0430-271b-c05c-5cd9cc40d02b@logikalsolutions.com> It's a bad practice and they have disabled replies. "Needs more info" is the universal cry of "I don't want to do it now." Having been in IT over 30 years and worked at countless shops as a consultant, I've seen that one used first hand to facilitate doing nothing. I've seen it used on bug reports which had 3 pages of content with perfectly reproducible steps to recreate a bug. Allowing an auto-close with "needs more info" allows people to juice the numbers without actually doing anything. Same as auto-closing with "Version no longer supported." Suddenly thousands of bugs get closed and it looks like the team is doing a great job, when in fact they are doing very little. Btw, you can't "just reply" to it. ==== This is the mail system at host gateway34.websitewelcome.com. I'm sorry to have to inform you that your message could not be delivered to one or more recipients. It's attached below. For further assistance, please send mail to postmaster. If you do so, please include this problem report. You can delete your own text from the attached returned message. The mail system : host mx.qt-project.org[193.209.87.4] said: 550 5.1.1: Recipient address rejected: User unknown in local recipient table (in reply to RCPT TO command) ==== I have reported it. They chose to close without looking. My conscience is clear. I will have to find a work around for this and like every other work around done for a client, they will own it because they paid for the time. I will be barred from recreating it for the length of the non-compete/NDA which for some of my contracts can be up to 7 years due to length of clinical trials. The "How Far We've Come" post series was prep work grouping together things which I have done in the past and are no longer subject to non-compete/NDA. On a personal note, in my 30+ years of IT, I've only had 2, count them 2, clients which either returned fixes back to a project or allowed me to return them. The first was a complete port of Netwise RPC to the Alpha platform. Client had to have it, vendor didn't want to pay for it. Client paid me to do it and promised to return the entire product which is how they got the source code. The vendor was supposed to take ownership of the code and provide support for the platform. We essentially gave them a new product to market. Shortly after I completed and returned the port, Microsoft ate the Netwise RPC product owner and the product disappeared like most everything else Microsoft tries to "improve after purchase." The second time was all of that QChar stuff which the client never got to use. On 10/10/2017 01:45 AM, interest-request at qt-project.org wrote: > We use JIRA as well, and it is our practice to close reports with comments > (like the one Roland has pointed out) when we need more information.? The user > (reporter) gets notified of the closure, and the request for info is included > with that notification. The user can reply to the notification, which then > re-opens the issue. > > It may be that the Trolls are using the same workflow, so you need only reply > with the additional info, and the issue report will be re-opened.? By the same > token, if you never reply, then it stays closed and off their radar. -- Roland Hughes, President Logikal Solutions (630)-205-1593 http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.johnsmith-book.com http://www.logikalblog.com http://www.interestingauthors.com/blog http://lesedi.us/ http://onedollarcontentstore.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From roland at logikalsolutions.com Tue Oct 10 17:52:11 2017 From: roland at logikalsolutions.com (Roland Hughes) Date: Tue, 10 Oct 2017 10:52:11 -0500 Subject: [Interest] QT for Asus Tinker In-Reply-To: References: Message-ID: <01e12a0f-6db4-657d-a2f3-2da2da5d692e@logikalsolutions.com> Your link has some incredibly telling text. ==== As usual, we are going to cross-compile. The steps are pretty similar to the Raspbian guide in the Wiki. I have been using this TinkerOS 1.8 image as the rootfs. To get a suitable ARM (32-bit) cross-compiler for x64, try this Linaro toolchain. ==== You may wish to follow the PostgreSQL message thread as well because the Raspbian guide is bad and it keeps snowballing out to other really bad things. The last sentence of the quote is most telling. They didn't try this on a 64-bit machine so _ALL_ of their configuration issues were masked. Are you trying to build on a 64-bit OS? I would guess you are, but information like that would be most helpful. Just like the Raspbian Wiki post, they don't identify the version and patch level of the host OS used for the build environment. This means _everyone_ assumes it is the same version they are currently using, which is wrong. My first suggestion would be to set up a 32-bit distro (as a VM if necessary) and make sure it is not current. Even though Ubuntu 16.x was out on May 3, 2017 when that post was created, I would search for a Ubuntu 14.04 LTS 32-bit version. Following the instructions with an older 32-bit Debian based distro will provide a higher probability of success. On 10/10/2017 10:39 AM, interest-request at qt-project.org wrote: > Has anyone tried and successfully installed and used QT creator on the Asus > Tinker? > > > > As it is very little to no information on doing such a thing. > > > > I?ve found this QT blog but sadly I get 200+ errors when trying to build a > very simple program when following this post. > > > > http://blog.qt.io/blog/2017/05/03/qt-git-tinkerboard-wayland/#comments > > > > I hope someone can assist me. -- Roland Hughes, President Logikal Solutions (630)-205-1593 http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.johnsmith-book.com http://www.logikalblog.com http://www.interestingauthors.com/blog http://lesedi.us/ http://onedollarcontentstore.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From roland at logikalsolutions.com Tue Oct 10 17:56:12 2017 From: roland at logikalsolutions.com (Roland Hughes) Date: Tue, 10 Oct 2017 10:56:12 -0500 Subject: [Interest] move methods in QList In-Reply-To: References: Message-ID: <15f1428e-34a8-9840-4efd-5dd533581ef4@logikalsolutions.com> http://doc.qt.io/qt-5/qlist-members.html * *push_back *(const T &) * *push_front *(const T &) * *insert *(int , const T &) * *insert *(iterator , const T &) : iterator * *move *(int , int ) On 10/10/2017 10:39 AM, interest-request at qt-project.org wrote: > I'm interested in storing a big structure in QList, and I would like to > move it to the list, but unlike std::list QList does not seem to have > push_back(T&&), insert(..., T&&) etc. > > Should I use std::list instead? Or use a QList of pointers (eg > QSharedPointer) to my structure? Or construct a default item and move my > new one over it, as in > > Big itemToAppend; > QList list; > list.append(Big()); > list.last() = std::move(itemToAppend); > > Are there any plans to add the move methods to QList etc? -- Roland Hughes, President Logikal Solutions (630)-205-1593 http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.johnsmith-book.com http://www.logikalblog.com http://www.interestingauthors.com/blog http://lesedi.us/ http://onedollarcontentstore.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From marek.florianczyk at gmail.com Tue Oct 10 22:16:30 2017 From: marek.florianczyk at gmail.com (=?utf-8?B?TWFyZWsuRmxvcmlhxYRjenlr?=) Date: Tue, 10 Oct 2017 22:16:30 +0200 Subject: [Interest] WebView access camera and mic Message-ID: <47116379.QqsBdjXb8R@franki> Hi all, I need to ask about QML WebView module. I'm working on an mobile application that should display single web page with JS library for webRTC - audio/video transmission. It looks like web page is loaded, JS library starts up, but I can't access camera and mic. With QWebEngineView on Desktop platform it works, this web page also works when displayed it in chrome browser on the phone. >From what I understand WebView is a wrapper around platform native web browser engine, since Android and iOS supports webRTC what is a real problem with WebView to support access to microphone and camera, like in QWebEngineView: onFeaturePermissionRequested: { grantFeaturePermission(securityOrigin, feature, true); } Is this some functionality that hasn't been written yet, or is it a deeper problem, policy or something else. This is a real showstopper in my project, so I need to ask is it possible to add some functionality to WebView module to support camera and mic access even with some support from commercial company and later make this code an open source contribution to WebView module ? Best Regards Marek From chgans at gmail.com Tue Oct 10 23:31:05 2017 From: chgans at gmail.com (Christian Gagneraud) Date: Wed, 11 Oct 2017 10:31:05 +1300 Subject: [Interest] move methods in QList In-Reply-To: <576ae28d-2fb9-8bdd-ec2f-02ed5b2b66c5@risingsoftware.com> References: <576ae28d-2fb9-8bdd-ec2f-02ed5b2b66c5@risingsoftware.com> Message-ID: On 10 October 2017 at 19:45, Hamish Moffatt wrote: > I'm interested in storing a big structure in QList, and I would like to move > it to the list, but unlike std::list QList does not seem to have > push_back(T&&), insert(..., T&&) etc. > > Should I use std::list instead? Or use a QList of pointers (eg > QSharedPointer) to my structure? Or construct a default item and move my new > one over it, as in > > Big itemToAppend; > QList list; > list.append(Big()); > list.last() = std::move(itemToAppend); > > Are there any plans to add the move methods to QList etc? You might want to read these CppCon17 slides, "Effective Qt: 2017 edition" by Giuseppe D'Angelo (KDAB) https://github.com/CppCon/CppCon2017/blob/master/Presentations/Effective%20Qt%20-%202017%20Edition/Effective%20Qt%20-%202017%20Edition%20-%20Giuseppe%20D'Angelo%20-%20CppCon%202017.pdf It's full of interesting information, like: - Don't use Qt container, unless you have to - Do not use QList, prefer QVector. Chris From redknight106 at googlemail.com Wed Oct 11 08:30:45 2017 From: redknight106 at googlemail.com (Ben W) Date: Wed, 11 Oct 2017 07:30:45 +0100 Subject: [Interest] QT for Asus Tinker In-Reply-To: <01e12a0f-6db4-657d-a2f3-2da2da5d692e@logikalsolutions.com> References: <01e12a0f-6db4-657d-a2f3-2da2da5d692e@logikalsolutions.com> Message-ID: Thank you Roland for your email. You are certainly correct in thinking that I was trying a 64bit OS, I was using Ubuntu 16.04 on a VM. I have to agree with your statement as I certainly dislike the lack of patch level of the host OS used for the build environment, this statement is also true for the Qtbase version branch to download (which is either the 5.10 or dev). I will certainly try your suggestion of using an older 32-bit system and will post the results. I’ll read up on the PostgreSQL message thread, to cover some other possible mistakes. My plan if successful is to create another blog with 100% clear and understandable build instructions to help others, so they won’t have to waste day’s trying to figure this find. Thank you for your time. Kind regards Ben W On Tue, Oct 10, 2017 at 4:52 PM, Roland Hughes wrote: > Your link has some incredibly telling text. > > ==== > > As usual, we are going to cross-compile. The steps are pretty similar to > the Raspbian guide in the Wiki. I have been using this TinkerOS 1.8 image > as the rootfs. To get a suitable ARM (32-bit) cross-compiler for x64, try > this Linaro toolchain. > ==== > > You may wish to follow the PostgreSQL message thread as well because the > Raspbian guide is bad and it keeps snowballing out to other really bad > things. > > The last sentence of the quote is most telling. They didn't try this on a > 64-bit machine so _ALL_ of their configuration issues were masked. > > Are you trying to build on a 64-bit OS? I would guess you are, but > information like that would be most helpful. > > Just like the Raspbian Wiki post, they don't identify the version and > patch level of the host OS used for the build environment. This means > _everyone_ assumes it is the same version they are currently using, which > is wrong. > > My first suggestion would be to set up a 32-bit distro (as a VM if > necessary) and make sure it is not current. Even though Ubuntu 16.x was out > on May 3, 2017 when that post was created, I would search for a Ubuntu > 14.04 LTS 32-bit version. Following the instructions with an older 32-bit > Debian based distro will provide a higher probability of success. > > > > On 10/10/2017 10:39 AM, interest-request at qt-project.org wrote: > > Has anyone tried and successfully installed and used QT creator on the Asus > Tinker? > > > > As it is very little to no information on doing such a thing. > > > > I?ve found this QT blog but sadly I get 200+ errors when trying to build a > very simple program when following this post. > > > http://blog.qt.io/blog/2017/05/03/qt-git-tinkerboard-wayland/#comments > > > > I hope someone can assist me. > > > -- > Roland Hughes, President > Logikal Solutions(630)-205-1593 <(630)%20205-1593> > http://www.theminimumyouneedtoknow.comhttp://www.infiniteexposure.nethttp://www.johnsmith-book.comhttp://www.logikalblog.comhttp://www.interestingauthors.com/bloghttp://lesedi.us/http://onedollarcontentstore.com > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From melanie.cappelaere at gmail.com Wed Oct 11 09:30:51 2017 From: melanie.cappelaere at gmail.com (Melanie Cappelaere) Date: Wed, 11 Oct 2017 09:30:51 +0200 Subject: [Interest] Qt 5.9 built with Glib support under macOS - event loop doesn't work Message-ID: Hello, Re: https://forum.qt.io/topic/40666/qt-5-2-built-with-glib-support-under-os-x-event-loop-doesn-t-work . I'm having the same problem with a Qt 5.9 which was built with the -glib option, except that it also doesn't work with a QCoreApplication. A quick look at the code of QCoreApplicationPrivate::createEventDispatcher makes me suspect this changed in between Qt 5.5 and Qt 5.6 (commit 97c8f6aa9c774aa0aac8948dd619e93944ec104a, if I'm not mistaken). My tests indicate that neither the QCocoaEventDispatcher nor the QEventDispatcherUNIX handle the glib events. An experimental hack to use QEventDispatcherGlib in QCoreApplication does work, which matches the observations for Qt 5.2. On the Gui side, I have the impression that it was dropped or got lost during the major reworks for Qt 5. I haven't been able to find out if this was intentional or accidental. So I'm wondering if the glib event loop is supported for Qt5 on macOS, and if so, how do I enable support for it? Kind regards, Melanie -------------- next part -------------- An HTML attachment was scrubbed... URL: From sierdzio at gmail.com Wed Oct 11 13:33:24 2017 From: sierdzio at gmail.com (Tomasz Siekierda) Date: Wed, 11 Oct 2017 13:33:24 +0200 Subject: [Interest] [Qt-creator] QtHelp for Chrome browser extension? In-Reply-To: <1621218.sW8YP9KPB7@bola> References: <1621218.sW8YP9KPB7@bola> Message-ID: On 9 October 2017 at 10:40, René J.V. Bertin wrote: > Hi, > > This is an idea that came up when discussion the fact that it seems overkill to embed an almost full-fledged browser (WebKit or WebEngine) into an IDE just for the sake of browser API documentation. > > Would it be possible (feasible) to write an extension for Chrome-based browsers that adds qthelp: support to them? If so, does one exist already? It exists already. https://chrome.google.com/webstore/detail/qt-doc-search/gfigdpnkjnilcielpnmfmdnnbloabjoh?utm_source=chrome-app-launcher-info-dialog > > Thanks, > René > _______________________________________________ > Qt-creator mailing list > Qt-creator at qt-project.org > http://lists.qt-project.org/mailman/listinfo/qt-creator From annulen at yandex.ru Wed Oct 11 13:41:42 2017 From: annulen at yandex.ru (Konstantin Tokarev) Date: Wed, 11 Oct 2017 14:41:42 +0300 Subject: [Interest] [Qt-creator] QtHelp for Chrome browser extension? In-Reply-To: References: <1621218.sW8YP9KPB7@bola> Message-ID: <68241507722102@web13g.yandex.ru> 11.10.2017, 14:34, "Tomasz Siekierda" : > On 9 October 2017 at 10:40, René J.V. Bertin wrote: >>  Hi, >> >>  This is an idea that came up when discussion the fact that it seems overkill to embed an almost full-fledged browser (WebKit or WebEngine) into an IDE just for the sake of browser API documentation. >> >>  Would it be possible (feasible) to write an extension for Chrome-based browsers that adds qthelp: support to them? If so, does one exist already? > > It exists already. > https://chrome.google.com/webstore/detail/qt-doc-search/gfigdpnkjnilcielpnmfmdnnbloabjoh?utm_source=chrome-app-launcher-info-dialog AFAIU it uses online search, not local files > >>  Thanks, >>  René >>  _______________________________________________ >>  Qt-creator mailing list >>  Qt-creator at qt-project.org >>  http://lists.qt-project.org/mailman/listinfo/qt-creator > > _______________________________________________ > Qt-creator mailing list > Qt-creator at qt-project.org > http://lists.qt-project.org/mailman/listinfo/qt-creator -- Regards, Konstantin From roland at logikalsolutions.com Wed Oct 11 14:03:59 2017 From: roland at logikalsolutions.com (Roland Hughes) Date: Wed, 11 Oct 2017 07:03:59 -0500 Subject: [Interest] QT for Asus Tinker In-Reply-To: References: <01e12a0f-6db4-657d-a2f3-2da2da5d692e@logikalsolutions.com> Message-ID: <26b185d9-2cf8-6e1d-fcfd-55b2b7f25657@logikalsolutions.com> Ultimately that was going to be the goal for most of the posts in the "Raspberry Pi" category on logikalblog.com. The post series was going to be used as the basis for formal work instructions setting up an environment for cross compiling Qt to both Raspberry Pi and Android targets. I have yet to find Qt cross compile configuration instructions which weren't pure unadulterated shit. All of them I've found are a shining example of why AGILE is a completely fraudulent methodology. The developer may have "solved the user story" in their mind, but the house of cards only works once. Given the number of distros dropping 32-bit support and the fact Canonical is dropping Linux for Fuchsia (sp?) the number of unidentified 32-bit hosts one could potentially use dwindles. All of the YABUs will disappear when Canonical switches within the next 18 months. On 10/11/2017 01:30 AM, Ben W wrote: > > Thank you Roland for your email. > > > You are certainly correct in thinking that I was trying a 64bit OS, I > was using Ubuntu 16.04 on a VM. > > > I have to agree with your statement as I certainly dislike the lack of > patch level of the host OS used for the build environment, this > statement is also true for the Qtbase version branch to download > (which is either the 5.10 or dev). > > > I will certainly try your suggestion of using an older 32-bit system > and will post the results. I’ll read up on the PostgreSQL message > thread, to cover some other possible mistakes. > > > My plan if successful is to create another blog with 100% clear and > understandable build instructions to help others, so they won’t have > to waste day’s trying to figure this find. > > > Thank you for your time. > > Kind regards > > Ben W > > > On Tue, Oct 10, 2017 at 4:52 PM, Roland Hughes > > wrote: > > Your link has some incredibly telling text. > > ==== > > As usual, we are going to cross-compile. The steps are pretty > similar to the Raspbian guide in the Wiki. I have been using this > TinkerOS 1.8 image as the rootfs. To get a suitable ARM (32-bit) > cross-compiler for x64, try this Linaro toolchain. > ==== > > You may wish to follow the PostgreSQL message thread as well > because the Raspbian guide is bad and it keeps snowballing out to > other really bad things. > > The last sentence of the quote is most telling. They didn't try > this on a 64-bit machine so _ALL_ of their configuration issues > were masked. > > Are you trying to build on a 64-bit OS? I would guess you are, but > information like that would be most helpful. > > Just like the Raspbian Wiki post, they don't identify the version > and patch level of the host OS used for the build environment. > This means _everyone_ assumes it is the same version they are > currently using, which is wrong. > > My first suggestion would be to set up a 32-bit distro (as a VM if > necessary) and make sure it is not current. Even though Ubuntu > 16.x was out on May 3, 2017 when that post was created, I would > search for a Ubuntu 14.04 LTS 32-bit version. Following the > instructions with an older 32-bit Debian based distro will provide > a higher probability of success. > > > > On 10/10/2017 10:39 AM, interest-request at qt-project.org > wrote: >> Has anyone tried and successfully installed and used QT creator on the Asus >> Tinker? >> >> >> >> As it is very little to no information on doing such a thing. >> >> >> >> I?ve found this QT blog but sadly I get 200+ errors when trying to build a >> very simple program when following this post. >> >> >> >> http://blog.qt.io/blog/2017/05/03/qt-git-tinkerboard-wayland/#comments >> >> I hope someone can assist me. > > -- > Roland Hughes, President > Logikal Solutions > (630)-205-1593 > > http://www.theminimumyouneedtoknow.com > > http://www.infiniteexposure.net > http://www.johnsmith-book.com > http://www.logikalblog.com > http://www.interestingauthors.com/blog > > http://lesedi.us/ > http://onedollarcontentstore.com > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > > -- Roland Hughes, President Logikal Solutions (630)-205-1593 http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.johnsmith-book.com http://www.logikalblog.com http://www.interestingauthors.com/blog http://lesedi.us/ http://onedollarcontentstore.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From rjvbertin at gmail.com Wed Oct 11 14:48:54 2017 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Wed, 11 Oct 2017 14:48:54 +0200 Subject: [Interest] [Qt-creator] QtHelp for Chrome browser extension? In-Reply-To: <68241507722102@web13g.yandex.ru> References: <1621218.sW8YP9KPB7@bola> <68241507722102@web13g.yandex.ru> Message-ID: <2912567.HmiG4yLs5a@portia.local> > > https://chrome.google.com/webstore/detail/qt-doc-search/gfigdpnkjnilcielpnmfmdnnbloabjoh?utm_source=chrome-app-launcher-info-dialog > > AFAIU it uses online search, not local files Indeed, and so does "Qt Project Support". That's something already, but support for local qhc documents would be even nicer. From marek.florianczyk at gmail.com Wed Oct 11 18:47:39 2017 From: marek.florianczyk at gmail.com (=?utf-8?B?TWFyZWsuRmxvcmlhxYRjenlr?=) Date: Wed, 11 Oct 2017 18:47:39 +0200 Subject: [Interest] WebView will someone shed some light please Message-ID: <3780597.bpLgYaAjT6@franki> Hi all, I need to ask about QML WebView module. I'm working on an mobile application that should display single web page with JS library for webRTC - audio/video transmission. It looks like web page is loaded, JS library starts up, but I can't access camera and mic. With QWebEngineView on Desktop platform it works, this web page also works when displayed it in chrome browser on the phone. >From what I understand WebView is a wrapper around platform native web browser engine, since Android and iOS supports webRTC what is a real problem with WebView to support access to microphone and camera, like in QWebEngineView: onFeaturePermissionRequested: { grantFeaturePermission(securityOrigin, feature, true); } Is this some functionality that hasn't been written yet, or is it a deeper problem, policy or something else. This is a real showstopper in my project, so I need to ask is it possible to add some functionality to WebView module to support camera and mic access even with some support from commercial company and later make this code an open source contribution to WebView module ? Best Regards Marek From thiago.macieira at intel.com Wed Oct 11 21:08:52 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 11 Oct 2017 12:08:52 -0700 Subject: [Interest] move methods in QList In-Reply-To: References: <576ae28d-2fb9-8bdd-ec2f-02ed5b2b66c5@risingsoftware.com> Message-ID: <2178195.HO57dl78c0@tjmaciei-mobl1> On terça-feira, 10 de outubro de 2017 14:31:05 PDT Christian Gagneraud wrote: > It's full of interesting information, like: > - Don't use Qt container, unless you have to > - Do not use QList, prefer QVector. And I complained to him right afterwards. The advice should be: - do use the Qt Containers, unless you can't - use QVector, not QList, unless you need QList'svery specific behaviour (if you don't know what that is, you don't need it) Out of the discussion at the Qt Contributor Summit, we concluded we will most likely keep our containers in Qt 6 and they'll continue to be implicitly shared. We may provide a non-implicitly-shared alternative (with all the Qt look and feel, possibly even exception-safe for QVector, QMap and QHash). -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From thiago.macieira at intel.com Wed Oct 11 21:13:45 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 11 Oct 2017 12:13:45 -0700 Subject: [Interest] Qt 5.9 built with Glib support under macOS - event loop doesn't work In-Reply-To: References: Message-ID: <2239528.gA38vaqgsA@tjmaciei-mobl1> On quarta-feira, 11 de outubro de 2017 00:30:51 PDT Melanie Cappelaere wrote: > I'm having the same problem with a Qt 5.9 which was built with the -glib > option, except that it also doesn't work with a QCoreApplication. A quick > look at the code of QCoreApplicationPrivate::createEventDispatcher makes me > suspect this changed in between Qt 5.5 and Qt 5.6 (commit > 97c8f6aa9c774aa0aac8948dd619e93944ec104a, if I'm not mistaken). > My tests indicate that neither the QCocoaEventDispatcher nor the > QEventDispatcherUNIX handle the glib events. An experimental hack to use > QEventDispatcherGlib in QCoreApplication does work, which matches the > observations for Qt 5.2. Correct. The Glib dispatcher is not expected to work on a Mac or Windows. If you need that, please use GMainLoop yourself in a separate thread. > On the Gui side, I have the impression that it was dropped or got lost > during the major reworks for Qt 5. I haven't been able to find out if this > was intentional or accidental. The GUI event loop has never supported Glib events on a Mac or on Windows. The change you pointed to makes that true now also for non-GUI. That change is pointing towards future goals of making the CFRunLoop run on all threads: we've been having problems with certain Apple API (like Bluetooth) not working outside the GUI thread. > So I'm wondering if the glib event loop is supported for Qt5 on macOS, and > if so, how do I enable support for it? It's not. I don't think we'll accept patches for it either, so your options are to either patch Qt or to run drive the GMainLoop yourself. A third alternative is to change Glib so that it integrates with the CFRunLoop instead of driving things on its own. Then when Qt runs that (you have to set QT_EVENT_DISPATCHER_CORE_FOUNDATION to 1), Glib events get dispatched too. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From elvstone at gmail.com Wed Oct 11 22:32:49 2017 From: elvstone at gmail.com (Elvis Stansvik) Date: Wed, 11 Oct 2017 22:32:49 +0200 Subject: [Interest] move methods in QList In-Reply-To: <2178195.HO57dl78c0@tjmaciei-mobl1> References: <576ae28d-2fb9-8bdd-ec2f-02ed5b2b66c5@risingsoftware.com> <2178195.HO57dl78c0@tjmaciei-mobl1> Message-ID: 2017-10-11 21:08 GMT+02:00 Thiago Macieira : > On terça-feira, 10 de outubro de 2017 14:31:05 PDT Christian Gagneraud wrote: >> It's full of interesting information, like: >> - Don't use Qt container, unless you have to >> - Do not use QList, prefer QVector. > > And I complained to him right afterwards. > > The advice should be: > - do use the Qt Containers, unless you can't > - use QVector, not QList, unless you need QList'svery specific behaviour > (if you don't know what that is, you don't need it) Sorry for jumping in here. I've recently been reading back on some of the threads on the disadvantages of QList, especially the thread right before the time when the QList docs were updated to no longer suggest it as the "go-to" Qt container. I've also looked through Guiseppes slides, and reading other discussions here and there. And I'm still confused. I'd like to do the right thing, but right now I'm unsure if that is: - Use std containers as much as possible (i.e. always except if I need to interface with Qt APIs) - Use Qt containers, but pick QVector over QList whenever possible (your suggestion) - Use QList, it's not that bad after all, and has good worst-time for many operations There seem to be differing opinions even among Qt heavyweights on how strongly QList use should be discouraged, and even on how strongly (if at all) Qt container use should be discouraged. I know the difference between QVector and QList, and the quirks of QList (not least of all because it's been discussed a lot), so I guess the best thing I can do is form an opinion of my own, and stick to that. But.. one thing I don't like about the advices like "Use X ... except if you possibly intend to interface with the Qt API" (where X is QVector, or maybe std::vector depending on your stance) is that sometimes you simply don't know that up-front. Also, it gives a sort of Frankenstein appearance to the code, where it's not clear to a casual reader why one type of container was picked over the other. Could others chime in here. If you were to start a project today, what focus would you have wrt to containers? Would you do your utmost to stay with std containers? Strive to use Qt containers, but avoid QList as much as possible? Or even not be afraid of QList use at all, for the convenience of being able to pass it to some Qt API later on? Another thing for you Qt devs: Qt's APIs are littered with QList. Guiseppe mention in his slides that it's out of the question to change that for Qt 6, because it would be such a big API break. But, when should such a change be made, if not during a major version bump? There's nothing more major than that. The only more careful approach I can think of is deprecation over a full major cycle, only to be changed in the next. Or are we going to live with a Qt API that interfaces using a discouraged container forever? Elvis > > Out of the discussion at the Qt Contributor Summit, we concluded we will most > likely keep our containers in Qt 6 and they'll continue to be implicitly > shared. We may provide a non-implicitly-shared alternative (with all the Qt > look and feel, possibly even exception-safe for QVector, QMap and QHash). > > -- > Thiago Macieira - thiago.macieira (AT) intel.com > Software Architect - Intel Open Source Technology Center > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest From philwave at gmail.com Wed Oct 11 22:54:35 2017 From: philwave at gmail.com (Philippe) Date: Wed, 11 Oct 2017 22:54:35 +0200 Subject: [Interest] move methods in QList In-Reply-To: References: <2178195.HO57dl78c0@tjmaciei-mobl1> Message-ID: <20171011225434.6C75.6F0322A@gmail.com> On Wed, 11 Oct 2017 22:32:49 +0200 Elvis Stansvik wrote: > Another thing for you Qt devs: Qt's APIs are littered with QList. > Guiseppe mention in his slides that it's out of the question to change > that for Qt 6, because it would be such a big API break. But, when > should such a change be made, if not during a major version bump? > There's nothing more major than that. The only more careful approach I > can think of is deprecation over a full major cycle, only to be > changed in the next. Or are we going to live with a Qt API that > interfaces using a discouraged container forever? A possible answer is on the same slide: "QList might simply become a typedef for QVector" Philippe From elvstone at gmail.com Wed Oct 11 23:01:41 2017 From: elvstone at gmail.com (Elvis Stansvik) Date: Wed, 11 Oct 2017 23:01:41 +0200 Subject: [Interest] move methods in QList In-Reply-To: <20171011225434.6C75.6F0322A@gmail.com> References: <2178195.HO57dl78c0@tjmaciei-mobl1> <20171011225434.6C75.6F0322A@gmail.com> Message-ID: 2017-10-11 22:54 GMT+02:00 Philippe : > On Wed, 11 Oct 2017 22:32:49 +0200 > Elvis Stansvik wrote: > >> Another thing for you Qt devs: Qt's APIs are littered with QList. >> Guiseppe mention in his slides that it's out of the question to change >> that for Qt 6, because it would be such a big API break. But, when >> should such a change be made, if not during a major version bump? >> There's nothing more major than that. The only more careful approach I >> can think of is deprecation over a full major cycle, only to be >> changed in the next. Or are we going to live with a Qt API that >> interfaces using a discouraged container forever? > > A possible answer is on the same slide: > "QList might simply become a typedef for QVector" Ah right, that's true. Thiago, was that alternative discussed during the Developer Days? Elvis > > Philippe > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest From rjvbertin at gmail.com Wed Oct 11 23:36:54 2017 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Wed, 11 Oct 2017 23:36:54 +0200 Subject: [Interest] QDockWidgets: how to get regular windows in detached (floating) mode? Message-ID: <16589077.mv6kWyougf@portia.local> Hi, Dock widgets are very useful, but there are cases where I'd like to be able to detach them to a regular window, because - regular windows stay visible when the application focus changes - regular windows can do stacking - regular windows can be put (partly) off the screen The latter 2 are practical when using a smaller screen size, all three are useful for, say, a documentation browser. How can one achieve this? I see that QDockWidget::setFloating(true) ultimately just sets the Qt::Tool window flag, so I tried unsetting that. At the moment, I have connect(this, &QDockWidget::topLevelChanged, this, [this] (bool floating) { if (floating) { setTitleBarWidget(0); setWindowFlags(Qt::Window); updateGeometry(); activateWindow(); raise(); } } ); which probably has a number of redundant calls, doesn't handle the case when a QDockWidget is created in "floating" mode and also isn't reliable. Most of the time, the window simply disappears when the above lambda is triggered. In addition, under X11 the window will have the regular titlebar provided by the WM but looks as if there's a regular window with the floating dock window inside, tiny titlebar included. What am I missing here? Thanks, René From philwave at gmail.com Wed Oct 11 23:56:57 2017 From: philwave at gmail.com (Philippe) Date: Wed, 11 Oct 2017 23:56:57 +0200 Subject: [Interest] move methods in QList In-Reply-To: References: <2178195.HO57dl78c0@tjmaciei-mobl1> Message-ID: <20171011235656.6C7C.6F0322A@gmail.com> On Wed, 11 Oct 2017 22:32:49 +0200 Elvis Stansvik wrote: > Could others chime in here. If you were to start a project today, what > focus would you have wrt to containers? Would you do your utmost to > stay with std containers? Strive to use Qt containers, but avoid QList > as much as possible? Or even not be afraid of QList use at all, for > the convenience of being able to pass it to some Qt API later on? If you need flexibility, easy of use, and consistent xplatform, use Qt containers. Now, if you want to put emphasis on speed, then you can't avoid to study carefully the APIs. For example, "std::vector faster than QVector" is not always true or easy. For instance, for std::vector to be fast for random insertions, you need to implement move constructors *and* have them noexcept. Are you always ready for this? Compare this with the ease and power of the Qt trait Q_MOVABLE_TYPE. Finally, if speed is really important for you, you need one step further and take care about memory allocation. In that case, forget both Qt and std and use, for example, eastl (https://github.com/electronicarts/EASTL) which provides better support than std for custom memory allocators. Philippe From roland at logikalsolutions.com Thu Oct 12 00:58:53 2017 From: roland at logikalsolutions.com (Roland Hughes) Date: Wed, 11 Oct 2017 17:58:53 -0500 Subject: [Interest] Interest Digest, Vol 73, Issue 17 In-Reply-To: References: Message-ID: <448ff51d-b495-de57-4385-8d793e9e03eb@logikalsolutions.com> Thank you. Implicit sharing and shallow copying and all of the other memory saving options really make a difference in the embedded system world where dynamic memory allocation is horribly inefficient. On 10/11/2017 03:36 PM, interest-request at qt-project.org wrote: > Out of the discussion at the Qt Contributor Summit, we concluded we will most > likely keep our containers in Qt 6 and they'll continue to be implicitly > shared. We may provide a non-implicitly-shared alternative (with all the Qt > look and feel, possibly even exception-safe for QVector, QMap and QHash). -- Roland Hughes, President Logikal Solutions (630)-205-1593 http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.johnsmith-book.com http://www.logikalblog.com http://www.interestingauthors.com/blog http://lesedi.us/ http://onedollarcontentstore.com From john at wavemetrics.com Thu Oct 12 01:29:09 2017 From: john at wavemetrics.com (John Weeks) Date: Wed, 11 Oct 2017 16:29:09 -0700 Subject: [Interest] QDockWidgets: how to get regular windows in detached (floating) mode? In-Reply-To: <16589077.mv6kWyougf@portia.local> References: <16589077.mv6kWyougf@portia.local> Message-ID: You may need to call setVisible(true). IIRC, changing window flags makes the widget invisible. -John Weeks > On Oct 11, 2017, at 2:36 PM, René J.V. Bertin wrote: > > Hi, > > Dock widgets are very useful, but there are cases where I'd like to be able to detach them to a regular window, because > > - regular windows stay visible when the application focus changes > - regular windows can do stacking > - regular windows can be put (partly) off the screen > > The latter 2 are practical when using a smaller screen size, all three are useful for, say, a documentation browser. > > How can one achieve this? I see that QDockWidget::setFloating(true) ultimately just sets the Qt::Tool window flag, so I tried unsetting that. At the moment, I have > > connect(this, &QDockWidget::topLevelChanged, this, [this] (bool floating) { > if (floating) { > setTitleBarWidget(0); > setWindowFlags(Qt::Window); > updateGeometry(); > activateWindow(); > raise(); > } > } ); > > which probably has a number of redundant calls, doesn't handle the case when a QDockWidget is created in "floating" mode and also isn't reliable. > > Most of the time, the window simply disappears when the above lambda is triggered. In addition, under X11 the window will have the regular titlebar provided by the WM but looks as if there's a regular window with the floating dock window inside, tiny titlebar included. > > What am I missing here? > > Thanks, > René > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest From roland at logikalsolutions.com Thu Oct 12 01:49:24 2017 From: roland at logikalsolutions.com (Roland Hughes) Date: Wed, 11 Oct 2017 18:49:24 -0500 Subject: [Interest] move methods in QList In-Reply-To: References: Message-ID: <66682ebd-9f80-70a3-9cac-fb3afd46d70f@logikalsolutions.com> Elvis, Here are some pearls of wisdom (or freshly polished t...s) depending on your opinion of them and myself. It is some rules of thumb I've developed over the past 30+ years in IT on numerous platforms with countless tool sets. 1) If you cannot immerse yourself completely in it and still solve the problem, it's the wrong tool set for the job. If you are trying to use Java for something (heaven forbid!) and have to keep dropping to JNI, red flag, you're using the wrong tool. If you are using Qt and need to keep using new C++/STL containers, red flag, you are using the wrong tool. That rule of thumb has served me well from Pro-C application generator to Cscape to Cognos PowerHouse to Clipper to Zinc (ZAF) to Java to soooo many other things. It doesn't require any white smocked palms skyward chanting to find enlightenment. 2) If "the data" has any real value, you always need some kind of index to it. This means I typically shun QList, QVector and QHash. Why shun QHash? Because hashes allow for collision which usually indicates a rather poor choice of key value. Yes, I try to completely ignore that part of QMap which allows for multiples of the same key. Bad bad bad bad bad thing that was. Yes, I still use a queue or a stack when the situation calls for it and yes, if the Qt thing I'm feeding needs a list I will create one, but, honestly, I stuff things into a QMap or SQLite database. I see too many projects declaring a struct  or data only class because the data is "somehow related." More and more keeps getting added to the structure. Then they try to stuff it into a list/vector then they start needing it in different orders based on different criteria. Had they done the right thing and stuffed that into a table, they could easily view the data however they wanted. FAR too many people take OOP too seriously. This "the object is everything" approach to systems design is tragic. Most of the data people try to wedge into custom objects really needs to be a row in a table you select as needed. If your row ends up with too much unrelated junk you can make another table. The bulk of the application will not care what SELECT statements is executed. I guess I'm answering (in a round about way) the last question of your post as well. If someone is worried about the efficiency of a Qt container they are either coding for an underpowered battery operated embedded target _or_ they are doing data wrong. I have developed for "that target" which didn't even have a GPU so we had to preload all of our images and blit them as necessary with Qt. The hardware choices were deliberate because product was shooting for something like 10 days of operational battery life (not standby). I have also walked onto projects where they kept throwing faster and faster processors at the grid powered embedded system and pushed it to 4Gig of RAM because every piece of data was an object and it all had to be in RAM. The long term storage was a rash of JSON files with a cryptic directory naming structure. The developer(s) which had been sent to Digia for Qt training came back all enamored with QML (puke) and JSON files so that _must_ be how data acquisition is done. Suffice it to say, when I got rid of the bulk of the JSON files, replacing them with an SQLite database and a series of tables our CPU and RAM consumption dropped dramatically. The application was quicker and more stable. How does that answer your question? In memory containers are meant to be temporary and no, temporary is not the life of the application. If data is actually needed for that length of time it needs to be on some form of semi-permanent media, not a container class. Are there exceptions to that rule? Damned few. One project had a giant QHash which was the target of a message queue publish-subscribe service routing COOA objects. It had to exist for the life of the application so each unique COOA had a unique reception point, but each message only existed until the next of its type came in. It was basically a transient data parking lot with assigned parking. On 10/11/2017 03:36 PM, interest-request at qt-project.org wrote: > Sorry for jumping in here. > > I've recently been reading back on some of the threads on the > disadvantages of QList, especially the thread right before the time > when the QList docs were updated to no longer suggest it as the > "go-to" Qt container. I've also looked through Guiseppes slides, and > reading other discussions here and there. > > And I'm still confused. I'd like to do the right thing, but right now > I'm unsure if that is: > > - Use std containers as much as possible (i.e. always except if I need > to interface with Qt APIs) > - Use Qt containers, but pick QVector over QList whenever possible > (your suggestion) > - Use QList, it's not that bad after all, and has good worst-time for > many operations > > There seem to be differing opinions even among Qt heavyweights on how > strongly QList use should be discouraged, and even on how strongly (if > at all) Qt container use should be discouraged. > > I know the difference between QVector and QList, and the quirks of > QList (not least of all because it's been discussed a lot), so I guess > the best thing I can do is form an opinion of my own, and stick to > that. > > But.. one thing I don't like about the advices like "Use X ... except > if you possibly intend to interface with the Qt API" (where X is > QVector, or maybe std::vector depending on your stance) is that > sometimes you simply don't know that up-front. Also, it gives a sort > of Frankenstein appearance to the code, where it's not clear to a > casual reader why one type of container was picked over the other. > > Could others chime in here. If you were to start a project today, what > focus would you have wrt to containers? Would you do your utmost to > stay with std containers? Strive to use Qt containers, but avoid QList > as much as possible? Or even not be afraid of QList use at all, for > the convenience of being able to pass it to some Qt API later on? > > Another thing for you Qt devs: Qt's APIs are littered with QList. > Guiseppe mention in his slides that it's out of the question to change > that for Qt 6, because it would be such a big API break. But, when > should such a change be made, if not during a major version bump? > There's nothing more major than that. The only more careful approach I > can think of is deprecation over a full major cycle, only to be > changed in the next. Or are we going to live with a Qt API that > interfaces using a discouraged container forever? > > Elvis -- Roland Hughes, President Logikal Solutions (630)-205-1593 http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.johnsmith-book.com http://www.logikalblog.com http://www.interestingauthors.com/blog http://lesedi.us/ http://onedollarcontentstore.com From thiago.macieira at intel.com Thu Oct 12 03:03:38 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 11 Oct 2017 18:03:38 -0700 Subject: [Interest] move methods in QList In-Reply-To: References: <2178195.HO57dl78c0@tjmaciei-mobl1> <20171011225434.6C75.6F0322A@gmail.com> Message-ID: <3287414.ySGDBjqBvo@tjmaciei-mobl1> On quarta-feira, 11 de outubro de 2017 14:01:41 PDT Elvis Stansvik wrote: > > A possible answer is on the same slide: > > "QList might simply become a typedef for QVector" > > Ah right, that's true. > > Thiago, was that alternative discussed during the Developer Days? Yes. See the notes and the QUIP. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From elvstone at gmail.com Thu Oct 12 07:54:10 2017 From: elvstone at gmail.com (Elvis Stansvik) Date: Thu, 12 Oct 2017 07:54:10 +0200 Subject: [Interest] move methods in QList In-Reply-To: <3287414.ySGDBjqBvo@tjmaciei-mobl1> References: <2178195.HO57dl78c0@tjmaciei-mobl1> <20171011225434.6C75.6F0322A@gmail.com> <3287414.ySGDBjqBvo@tjmaciei-mobl1> Message-ID: 2017-10-12 3:03 GMT+02:00 Thiago Macieira : > On quarta-feira, 11 de outubro de 2017 14:01:41 PDT Elvis Stansvik wrote: >> > A possible answer is on the same slide: >> > "QList might simply become a typedef for QVector" >> >> Ah right, that's true. >> >> Thiago, was that alternative discussed during the Developer Days? > > Yes. See the notes and the QUIP. Ah, found it. Thanks. It's at http://lists.qt-project.org/pipermail/development/2017-October/031060.html for those interested. Elvis > > -- > Thiago Macieira - thiago.macieira (AT) intel.com > Software Architect - Intel Open Source Technology Center > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest From elvstone at gmail.com Thu Oct 12 10:10:35 2017 From: elvstone at gmail.com (Elvis Stansvik) Date: Thu, 12 Oct 2017 10:10:35 +0200 Subject: [Interest] Using QSignalSpy/QTest::mousePress(..) etc. with googletest Message-ID: Hi all, I've began using googletest and googlemock for some unit tests. I've read through the slides for this webinar: https://www.slideshare.net/ICSinc/webinar-qt-testdriven-development-using-google-test-and-google-mock On some slides [1], the author talks about using QSignalSpy, QTest::mousePress et.c. inside googletest unit tests, and even provides a code sample of doing that [2]. The slides are nice. However, one crucial detail I think is missing: I can't find any explanation of how the author makes sure there's a Q(Core)Application/event loop available when such tests run. It's not explained in the code samples nor the text AFAICS. Anyone doing Qt event based testing with QSignalSpy, QTest::mouseClick et.c. in a googletest unit test? How do you set up your Q(Core)Application in those tests? Do you have any boilerplate/helper that you use? Thankful for any advice/tips on this. Elvis [1] https://www.slideshare.net/ICSinc/webinar-qt-testdriven-development-using-google-test-and-google-mock/43?src=clipshare [2] https://www.slideshare.net/ICSinc/webinar-qt-testdriven-development-using-google-test-and-google-mock/19?src=clipshare From rjvbertin at gmail.com Thu Oct 12 11:04:46 2017 From: rjvbertin at gmail.com (=?UTF-8?B?UmVuw6kgSi4gVi4=?= Bertin) Date: Thu, 12 Oct 2017 11:04:46 +0200 Subject: [Interest] QDockWidgets: how to get regular windows in detached (floating) mode? References: <16589077.mv6kWyougf@portia.local> Message-ID: <7706320.kJJeVYt96I@patux.local> John Weeks wrote: > You may need to call setVisible(true). IIRC, changing window flags makes the > widget invisible. You appear to be right, thanks. Now I'm just left with how to restore state correctly after starting the application anew. After unfloating the window with static void unfloat(QDockWidget* that, bool floating) { if (floating && that) { that->setTitleBarWidget(0); // remove unwanted flags Qt::WindowFlags flags = that->windowFlags() & ~(Qt::Tool| Qt::FramelessWindowHint|Qt::X11BypassWindowManagerHint); // set wanted flags that->setWindowFlags(flags | Qt::Window); that->updateGeometry(); that->setVisible(true); } } I'm stuck with a window that just shows whatever was behind it when it was first created. Maybe I should un-unfloat the window before exiting, or simply dock it. R. From vperetokin at gmail.com Thu Oct 12 11:06:52 2017 From: vperetokin at gmail.com (Vadim Peretokin) Date: Thu, 12 Oct 2017 09:06:52 +0000 Subject: [Interest] QDockWidgets: how to get regular windows in detached (floating) mode? In-Reply-To: <7706320.kJJeVYt96I@patux.local> References: <16589077.mv6kWyougf@portia.local> <7706320.kJJeVYt96I@patux.local> Message-ID: Rene, with the thing you're making - would it then be possible to achieve browser-like behaviour of being able to drag tabs out into their own windows? With those windows movable to other monitors as well? On Thu, Oct 12, 2017 at 11:05 AM René J. V. Bertin wrote: > John Weeks wrote: > > > You may need to call setVisible(true). IIRC, changing window flags makes > the > > widget invisible. > > You appear to be right, thanks. > > Now I'm just left with how to restore state correctly after starting the > application anew. After unfloating the window with > > static void unfloat(QDockWidget* that, bool floating) > { > if (floating && that) { > that->setTitleBarWidget(0); > // remove unwanted flags > Qt::WindowFlags flags = that->windowFlags() & ~(Qt::Tool| > Qt::FramelessWindowHint|Qt::X11BypassWindowManagerHint); > // set wanted flags > that->setWindowFlags(flags | Qt::Window); > that->updateGeometry(); > that->setVisible(true); > } > } > > I'm stuck with a window that just shows whatever was behind it when it was > first > created. > > Maybe I should un-unfloat the window before exiting, or simply dock it. > > R. > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -------------- next part -------------- An HTML attachment was scrubbed... URL: From me at the-compiler.org Thu Oct 12 11:24:36 2017 From: me at the-compiler.org (Florian Bruhin) Date: Thu, 12 Oct 2017 11:24:36 +0200 Subject: [Interest] qutebrowser v1.0.0 released! Message-ID: <20171012092436.ce4s2jdmjte4awnv@hooch.localdomain> Hey, I'm delighted to announce that I just released qutebrowser v1.0.0! qutebrowser is a keyboard driven browser with a vim-like, minimalistic interface. It's written using PyQt and cross-platform. This release comes with many big breaking changes such as the new config and QtWebEngine by default. See the changelog for details. Florian Major changes ~~~~~~~~~~~~~ - Dependency changes: * Support for legacy QtWebKit (before 5.212 which is distributed independently from Qt[1] is dropped. * Support for Python 3.4 is dropped. * Support for Qt before 5.7.1 and PyQt before 5.7 is dropped. * New dependency on the QtSql module and Qt sqlite support. * New dependency on the attrs[2] project (packaged as `python-attr` in some distributions). * The depedency on PyOpenGL (when using QtWebEngine) got removed. Note that PyQt5.QtOpenGL is still a dependency. * PyQt5.QtOpenGL is now always required, even with QtWebKit. - The QtWebEngine backend is now used by default. Note this means that QtWebEngine now should be a required dependency, and QtWebKit (if new enough) should be changed to an optional dependency. - Completely rewritten configuration system which ignores the old config file. See qute://help/configuring.html for details. - Various documentation files got moved to the doc/ subfolder; `qutebrowser.desktop` got moved to misc/. - `:set` now doesn't support toggling/cycling values anymore, that functionality got moved to `:config-cycle`. - New completion engine based on sqlite, which allows to complete the entire browsing history. The default for `completion.web_history_max_items` got changed to `-1` (unlimited). If the completion is too slow on your machine, try setting it to a few 1000 items. [1] https://github.com/annulen/webkit/wiki [2] http://www.attrs.org/ Added ~~~~~ - QtWebEngine: Spell checking support, see the `spellcheck.languages` setting. - New `qt.args` setting to pass additional arguments to Qt/Chromium. - New `backend` setting to select the backend to use. Together with the previous setting, this should make most wrapper scripts unnecessary. - qutebrowser can now be set as the default browser on macOS. - New config commands: * `:config-cycle` to cycle an option between multiple values. * `:config-unset` to remove a configured option. * `:config-clear` to remove all configured options. * `:config-source` to (re-)read a `config.py` file. * `:config-edit` to open the `config.py` file in an editor. * `:config-write-py` to write a `config.py` template file. - New `:version` command which opens `qute://version`. - New back/forward indicator in the statusbar. - New `bindings.key_mappings` setting to map keys to other keys. - QtWebEngine: Support for proxy authentication. Changed ~~~~~~~ - Using `:download` now uses the page's title as filename. - Using `:back` or `:forward` with a count now skips intermediate pages. - When there are multiple messages shown, the timeout is increased. - `:search` now only clears the search if one was displayed before, so pressing `` doesn't un-focus inputs anymore. - Pinned tabs now adjust to their text's width, so the `tabs.width.pinned` setting got removed. - `:set-cmd-text` now has a `--run-on-count` argument to run the underlying command directly if a count was given. - `:scroll-perc` got renamed to `:scroll-to-perc`. Removed ~~~~~~~ - Migrating QtWebEngine data written by versions before 2016-11-15 (before v0.9.0) is now not supported anymore. - Upgrading qutebrowser with a version older than v0.4.0 still running now won't work properly anymore. - The `--harfbuzz` and `--relaxed-config` commandline arguments got dropped. Fixes ~~~~~ - Exiting fullscreen via `:fullscreen` or buttons on a page now restores the correct previous window state (maximized/fullscreen). - When `input.insert_mode.auto_load` is set, background tabs now don't enter insert mode anymore. - The keybinding help widget now works correctly when using keybindings with a count. - The `window.hide_wayland_decoration` setting now works correctly again. -- https://www.qutebrowser.org | me at the-compiler.org (Mail/XMPP) GPG: 916E B0C8 FD55 A072 | https://the-compiler.org/pubkey.asc I love long mails! | https://email.is-not-s.ms/ -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: From rjvbertin at gmail.com Thu Oct 12 12:27:50 2017 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Thu, 12 Oct 2017 12:27:50 +0200 Subject: [Interest] QDockWidgets: how to get regular windows in detached (floating) mode? In-Reply-To: References: <16589077.mv6kWyougf@portia.local> <7706320.kJJeVYt96I@patux.local> Message-ID: <1542684.1LyxbheWMG@bola> On Thursday October 12 2017 09:06:52 Vadim Peretokin wrote: >Rene, with the thing you're making - would it then be possible to achieve >browser-like behaviour of being able to drag tabs out into their own >windows? Not for any kind of tab of course, only those that are usually docked to a toolbar on one of the window edges. You can already drag them out into their own window, but those don't behave like standard windows. >With those windows movable to other monitors as well? On Mac I can already do that with QDockWidgets in floating mode, doesn't it work like that on other platforms? R. From vperetokin at gmail.com Thu Oct 12 12:45:44 2017 From: vperetokin at gmail.com (Vadim Peretokin) Date: Thu, 12 Oct 2017 10:45:44 +0000 Subject: [Interest] QDockWidgets: how to get regular windows in detached (floating) mode? In-Reply-To: <1542684.1LyxbheWMG@bola> References: <16589077.mv6kWyougf@portia.local> <7706320.kJJeVYt96I@patux.local> <1542684.1LyxbheWMG@bola> Message-ID: Are you using QToolBar? The only thing those can do is move around in the tab bar, but they can't be dragged out... I'd love to have browser-like functionality where you could drag those tabs out as well which is why I'm so keen on what you're doing here! On Thu, Oct 12, 2017 at 12:27 PM René J.V. Bertin wrote: > On Thursday October 12 2017 09:06:52 Vadim Peretokin wrote: > > >Rene, with the thing you're making - would it then be possible to achieve > >browser-like behaviour of being able to drag tabs out into their own > >windows? > > Not for any kind of tab of course, only those that are usually docked to a > toolbar on one of the window edges. You can already drag them out into > their own window, but those don't behave like standard windows. > > >With those windows movable to other monitors as well? > > On Mac I can already do that with QDockWidgets in floating mode, doesn't > it work like that on other platforms? > > R. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rjvbertin at gmail.com Thu Oct 12 13:20:10 2017 From: rjvbertin at gmail.com (=?ISO-8859-1?Q?Ren=E9_J=2EV=2E?= Bertin) Date: Thu, 12 Oct 2017 13:20:10 +0200 Subject: [Interest] QDockWidgets: how to get regular windows in detached (floating) mode? In-Reply-To: References: <16589077.mv6kWyougf@portia.local> <1542684.1LyxbheWMG@bola> Message-ID: <2627029.pixdokDVZb@portia.local> On Thursday October 12 2017 10:45:44 Vadim Peretokin wrote: No, these are QDockWidgets. They're what live in a toolbar. To be precise, I'm tinkering with a classed derived from QDockWidget; KDevelop's Sublime::IdealDockWidget . R. > Are you using QToolBar? The only thing those can do is move around in the > tab bar, but they can't be dragged out... > > I'd love to have browser-like functionality where you could drag those tabs > out as well which is why I'm so keen on what you're doing here! From melanie.cappelaere at gmail.com Fri Oct 13 08:51:18 2017 From: melanie.cappelaere at gmail.com (Melanie Cappelaere) Date: Fri, 13 Oct 2017 08:51:18 +0200 Subject: [Interest] Qt 5.9 built with Glib support under macOS - event loop doesn't work Message-ID: Hello Thiago, thank you very much for your answer. Kind regards, Melanie -------------- next part -------------- An HTML attachment was scrubbed... URL: From viktor.engelmann at qt.io Fri Oct 13 11:38:23 2017 From: viktor.engelmann at qt.io (Viktor Engelmann) Date: Fri, 13 Oct 2017 11:38:23 +0200 Subject: [Interest] PostgreSQL cross compile for Pi In-Reply-To: <59557987-680f-ef08-c23d-f23ef5922a19@logikalsolutions.com> References: <59557987-680f-ef08-c23d-f23ef5922a19@logikalsolutions.com> Message-ID: On 10.10.2017 17:03, Roland Hughes wrote: > > If YOU need a copy of something which clearly will not fit within the > confines of the bug tracker system YOU take the additional time to > copy it. > > Turning your argument around, what happens when your current bug > tracking system disappears and is replaced by something else? You > _still_ lose the history. > The bug tracking system is under our control - it will not just disappear (from our perspective). We could replace it some day in the future, but not without transferring the knowledge to a new system. Your blog post might just disappear (from our perspective) - I have seen situations like that often enough. Stackoverflow also demands that you briefly state what you find on a page you link (and for the same reason). Also, the blog post contains a lot of informations that are irrelevant to the bugreport (like where you got the instruction, the complaints of the other readers of that how-to, the complaint about the reliability of how-tos on the internet in general, etc.) Filtering out the relevant parts is really not our job. > > A deep bug history is only necessary when bugs are allowed to rot for > decades. All actual changes must be accompanied by comments with the > bug fix so the source code keeps its own history. > I try to be more verbose - describe the problem briefly, describe the different things that I changed and what their relation to the problem is - but I have seen commits that basically had the description "Fix QTBUG-XXXXX". Lastly I would like to point out that improving the bug report would probably have taken less time than what you have invested on this complaint. -- Viktor Engelmann Software Engineer The Qt Company GmbH Rudower Chaussee 13 D-12489 Berlin Viktor.Engelmann at qt.io +49 151 26784521 http://qt.io Geschäftsführer: Mika Pälsi, Juha Varelius, Mika Harjuaho Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B The Future is Written with Qt www.qtworldsummit.com From julius.bullinger at intel.com Mon Oct 16 09:17:45 2017 From: julius.bullinger at intel.com (Bullinger, Julius) Date: Mon, 16 Oct 2017 07:17:45 +0000 Subject: [Interest] qt.qml.diskcache errors after Qt upgrade Message-ID: <7FC8D04D3E708B4AA8248F6D64E0CB2136BC9413@IRSMSX104.ger.corp.intel.com> Hi list, After upgrading to Qt 5.9.2 for MSVC2017, I cannot start any QML projects from Creator anymore: 19:01:33.362 [debug] QQmlTypeData::tryLoadFromDiskCache:2087: Error loading "qrc:/qml/layout/Layout.qml" from disk cache: "QML source file has a different time stamp than cached file." 19:01:33.566 [debug] QQmlScriptBlob::dataReceived:2933: Error loading "file:///C:/Qt/5.9.2/msvc2017_64/qml/QtQuick/Controls/Private/CalendarUtils.js" from disk cache: "Code generator mismatch. Found code generated by moth but expected jit" 19:01:33.596 [debug] QQmlScriptBlob::dataReceived:2933: Error loading "file:///C:/Qt/5.9.2/msvc2017_64/qml/QtQuick/Controls/Private/StackView.js" from disk cache: "Code generator mismatch. Found code generated by moth but expected jit" 19:01:33.627 [debug] QQmlScriptBlob::dataReceived:2933: Error loading "file:///C:/Qt/5.9.2/msvc2017_64/qml/QtQuick/Controls/Private/style.js" from disk cache: "Code generator mismatch. Found code generated by moth but expected jit" ... (Rebuilding and removing the build directories didn't help) Where are the cached files located? How can I ensure that they get regenerated, and in a way that it also works at the customer's machine? Best regards, Julius Intel Deutschland GmbH Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany Tel: +49 89 99 8853-0, www.intel.de Managing Directors: Christin Eisenschmid, Christian Lamprechter Chairperson of the Supervisory Board: Nicole Lau Registered Office: Munich Commercial Register: Amtsgericht Muenchen HRB 186928 -------------- next part -------------- An HTML attachment was scrubbed... URL: From nunosantos at imaginando.pt Mon Oct 16 20:11:26 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Mon, 16 Oct 2017 19:11:26 +0100 Subject: [Interest] QAbstractItemModel and Qml - modelData is null Message-ID: <3A382A84-8C63-4F20-913A-FF6594965D5E@imaginando.pt> Hi, I have for the first time defined a QAbstractItemModel to use on Qml because I needed to have a filtered version of this model using QSortFilterProxyModel. I have the documentation here -> http://doc.qt.io/archives/qt-5.5/qtquick-modelviewsdata-cppmodels.html and followed the example given. I have defined the following roles: enum PatchRoles { IdRole = Qt::UserRole + 1, NameRole, ModifiedRole, TagsRole, ModelDataRole }; And then under data retrieval method: QVariant IPatchManagerModel::data(const QModelIndex & index, int role) const { if (index.row() < 0 || index.row() >= _patches.count()) return QVariant(); IPatch* patch = _patches.at(index.row()); if (role == IdRole) return patch->id(); else if (role == NameRole) return patch->nameLabel(); else if (role == ModifiedRole) return patch->modified(); else if (role == TagsRole) return patch->tags(); else if (role == ModelDataRole) return qVariantFromValue((void *) patch); return QVariant(); } Every role works except modelData, whenever I try to access it it gives me null on the Qml side. Does anyone knows what am I doing wrong? Thanks, Regards, Nuno -------------- next part -------------- An HTML attachment was scrubbed... URL: From py.siret at gmail.com Mon Oct 16 23:16:22 2017 From: py.siret at gmail.com (Pierre-Yves Siret) Date: Mon, 16 Oct 2017 23:16:22 +0200 Subject: [Interest] QAbstractItemModel and Qml - modelData is null In-Reply-To: <3A382A84-8C63-4F20-913A-FF6594965D5E@imaginando.pt> References: <3A382A84-8C63-4F20-913A-FF6594965D5E@imaginando.pt> Message-ID: 2017-10-16 20:11 GMT+02:00 Nuno Santos : > Hi, > > I have for the first time defined a QAbstractItemModel to use on Qml > because I needed to have a filtered version of this model > using QSortFilterProxyModel. > > I have the documentation here -> http://doc.qt.io/archives/ > qt-5.5/qtquick-modelviewsdata-cppmodels.html and followed the example > given. I have defined the following roles: > > enum PatchRoles { > IdRole = Qt::UserRole + 1, > NameRole, > ModifiedRole, > TagsRole, > ModelDataRole > }; > > And then under data retrieval method: > > QVariant IPatchManagerModel::data(const QModelIndex & index, int role) > const > { > if (index.row() < 0 || index.row() >= _patches.count()) > return QVariant(); > > IPatch* patch = _patches.at(index.row()); > > if (role == IdRole) > return patch->id(); > else if (role == NameRole) > return patch->nameLabel(); > else if (role == ModifiedRole) > return patch->modified(); > else if (role == TagsRole) > return patch->tags(); > else if (role == ModelDataRole) > * return qVariantFromValue((void *) patch);* > > return QVariant(); > } > > Every role works except modelData, whenever I try to access it it gives me > null on the Qml side. > > Does anyone knows what am I doing wrong? > > Thanks, > > Regards, > > Nuno > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > I'm gonna go out on a limb and say that the QML engine can't deal with void* type. What type is patch? Put it in the variant as a QObject* instead if you can. Regards -------------- next part -------------- An HTML attachment was scrubbed... URL: From nunosantos at imaginando.pt Tue Oct 17 11:13:40 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Tue, 17 Oct 2017 10:13:40 +0100 Subject: [Interest] QAbstractItemModel and Qml - modelData is null In-Reply-To: References: <3A382A84-8C63-4F20-913A-FF6594965D5E@imaginando.pt> Message-ID: <89BDA20B-68C2-4B19-A817-515C55D9DB5C@imaginando.pt> Pierre, Thanks for the tip. It worked. I got that from an example online, but not from official documentation. IPatch extends QObject so it is basically a QObject. I have changed the cast to QObject and it is working now! Thanks! Best regards, Nuno > On 16 Oct 2017, at 22:16, Pierre-Yves Siret wrote: > > > 2017-10-16 20:11 GMT+02:00 Nuno Santos >: > Hi, > > I have for the first time defined a QAbstractItemModel to use on Qml because I needed to have a filtered version of this model using QSortFilterProxyModel. > > I have the documentation here -> http://doc.qt.io/archives/qt-5.5/qtquick-modelviewsdata-cppmodels.html and followed the example given. I have defined the following roles: > > enum PatchRoles { > IdRole = Qt::UserRole + 1, > NameRole, > ModifiedRole, > TagsRole, > ModelDataRole > }; > > And then under data retrieval method: > > QVariant IPatchManagerModel::data(const QModelIndex & index, int role) const > { > if (index.row() < 0 || index.row() >= _patches.count()) > return QVariant(); > > IPatch* patch = _patches.at (index.row()); > > if (role == IdRole) > return patch->id(); > else if (role == NameRole) > return patch->nameLabel(); > else if (role == ModifiedRole) > return patch->modified(); > else if (role == TagsRole) > return patch->tags(); > else if (role == ModelDataRole) > return qVariantFromValue((void *) patch); > > return QVariant(); > } > > Every role works except modelData, whenever I try to access it it gives me null on the Qml side. > > Does anyone knows what am I doing wrong? > > Thanks, > > Regards, > > Nuno > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > > I'm gonna go out on a limb and say that the QML engine can't deal with void* type. > What type is patch? Put it in the variant as a QObject* instead if you can. > > Regards > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From jhihn at gmx.com Tue Oct 17 16:27:05 2017 From: jhihn at gmx.com (Jason H) Date: Tue, 17 Oct 2017 16:27:05 +0200 Subject: [Interest] WebView will someone shed some light please In-Reply-To: <3780597.bpLgYaAjT6@franki> References: <3780597.bpLgYaAjT6@franki> Message-ID: > Sent: Wednesday, October 11, 2017 at 12:47 PM > From: "Marek.Floriańczyk" > To: interest at qt-project.org > Subject: [Interest] WebView will someone shed some light please > > Hi all, > > I need to ask about QML WebView module. > I'm working on an mobile application that should display single web page with > JS library for webRTC - audio/video transmission. > It looks like web page is loaded, JS library starts up, but I can't access > camera and mic. > With QWebEngineView on Desktop platform it works, this web page also works > when displayed it in chrome browser on the phone. > > From what I understand WebView is a wrapper around platform native web browser > engine, since Android and iOS supports webRTC what is a real problem with > WebView to support access to microphone and camera, like in QWebEngineView: > onFeaturePermissionRequested: { > grantFeaturePermission(securityOrigin, feature, true); > } > > Is this some functionality that hasn't been written yet, or is it a deeper > problem, policy or something else. > This is a real showstopper in my project, so I need to ask is it possible to > add some functionality to WebView module to support camera and mic access even > with some support from commercial company and later make this code an open > source contribution to WebView module ? I cringe at the invocation of "show stopper" You can make an app with with camera and webview and coordinate the switch between the two. If you need a full-blown WebUI, then maybe Qt isn't the right choice? I'm thinking React might be better if you're looking for a fully web-driven app. From marek.florianczyk at gmail.com Tue Oct 17 16:37:36 2017 From: marek.florianczyk at gmail.com (=?utf-8?B?TWFyZWsuRmxvcmlhxYRjenlr?=) Date: Tue, 17 Oct 2017 16:37:36 +0200 Subject: [Interest] WebView will someone shed some light please In-Reply-To: References: <3780597.bpLgYaAjT6@franki> Message-ID: <7135857.b7hVLUGJeF@franki> Dnia wtorek, 17 października 2017 16:27:05 CEST Jason H pisze: > > Sent: Wednesday, October 11, 2017 at 12:47 PM > > From: "Marek.Floriańczyk" > > To: interest at qt-project.org > > Subject: [Interest] WebView will someone shed some light please > > > > Hi all, > > > > I need to ask about QML WebView module. > > I'm working on an mobile application that should display single web page > > with JS library for webRTC - audio/video transmission. > > It looks like web page is loaded, JS library starts up, but I can't access > > camera and mic. > > With QWebEngineView on Desktop platform it works, this web page also works > > when displayed it in chrome browser on the phone. > > > > From what I understand WebView is a wrapper around platform native web > > browser engine, since Android and iOS supports webRTC what is a real > > problem with WebView to support access to microphone and camera, like in > > QWebEngineView: onFeaturePermissionRequested: { > > > > grantFeaturePermission(securityOrigin, feature, true); > > > > } > > > > Is this some functionality that hasn't been written yet, or is it a deeper > > problem, policy or something else. > > This is a real showstopper in my project, so I need to ask is it possible > > to add some functionality to WebView module to support camera and mic > > access even with some support from commercial company and later make this > > code an open source contribution to WebView module ? > > I cringe at the invocation of "show stopper" > You can make an app with with camera and webview and coordinate the switch > between the two. If you need a full-blown WebUI, then maybe Qt isn't the > right choice? I'm thinking React might be better if you're looking for a > fully web-driven app. Hi, It's not web-driven app, there are push notifications, in app purchase, google api authorization and a few more. WebRTC allows me to use some "call center" infrastructure with TURN and STUN servers provided by VoIP provider. They have commercial JS library where all webRTC communications is done. I can access camera no problem, did that for QR codes, but then I would have to do all webRTC related stuff myself. Best Regards Marek From roland at logikalsolutions.com Tue Oct 17 17:11:13 2017 From: roland at logikalsolutions.com (Roland Hughes) Date: Tue, 17 Oct 2017 10:11:13 -0500 Subject: [Interest] Interest Digest, Vol 73, Issue 18 In-Reply-To: References: Message-ID: <248670d1-ed07-0859-0820-6780d0a06d09@logikalsolutions.com> On 10/16/2017 02:22 AM, Viktor Engelmann wrote: >> If YOU need a copy of something which clearly will not fit within the >> confines of the bug tracker system YOU take the additional time to >> copy it. >> >> Turning your argument around, what happens when your current bug >> tracking system disappears and is replaced by something else? You >> _still_ lose the history. >> > The bug tracking system is under our control - it will not just > disappear (from our perspective). Oh yes it will! Speaking as someone who has heard that soooooo many times before, let's just count a few for Qt shall we. The Trolltech bug database was never going to just disappear (from our perspective). It did. A tiny fraction of the bugs migrated to the new system but most were mass exterminated with "The version this bug is reported against is no longer supported..." The Nokia bug tracker was never going to just disappear (from our perspective). It did. Few, if any of the older bugs made it into the current database. Most were mass exterminated with "The version this bug is reported against is no longer supported..." We could replace it some day in the > future, but not without transferring the knowledge to a new system. Your > blog post might just disappear (from our perspective) - I have seen > situations like that often enough. Stackoverflow also demands that you > briefly state what you find on a page you link (and for the same reason). At some point one of two things will happen. The company which currently owns Qt will be eaten _OR_ the OpenSource Qt project will fork. The second possibility is __extremely__ close to happening as I type this. There are an awful lot of companies, not to mention OpenSource projects which feel they have been completely abandoned by the powers which be at Qt. Indeed, many of them have been. I get a phone call 6-18 months from this pimp named Harmman (sp?) something or other to go work on a medical device enhancement. Need Qt 3 and OS/2 Warp skills. Company filed Qt 3 bugs which weren't addressed by then owners, had to customize Qt itself and is now maintaining their own little spinoff because enhancements don't require a 7+ year clinical trial process. I hear from quite a few companies in similar boats. They started development for a medical/industrial device which had a lengthy testing/approval process, filed bug reports for that version only to see them rot or fall victim to a mass extermination. The current owners of Qt and the current OpenSource maintainers don't offer or seem to understand the concept of an LTS (Long Term Support) version. They are constantly pursuing script kiddies and that worthless QML instead of maintaining the base which built them. This will soon force a fork in the OpenSource project. One which rips out all of the QML and focuses on nothing but bug fixes for 12 years. Yes, 12 years. That's how long these environments need a stable tool set. You have a 1-2 year development cycle, up to 7 years in clinical trials, and 5+ years of enhancement/maintenance product life. Enough of these companies are starting to run into each other or hire consultants who have worked at others in the same boat that the "maintain our own" philosophy is starting to morph into "we maintain a fork." > > Also, the blog post contains a lot of informations that are irrelevant > to the bugreport (like where you got the instruction, the complaints of > the other readers of that how-to, the complaint about the reliability of > how-tos on the internet in general, etc.) Well, if you think "where you got the instruction" is irrelevant then you aren't qualified to fix the problem. The "where" is the most important part as it is the official wiki. That wiki is spawning lots of other blog posts and wikis which are also wrong because they are based on it. A single test application which uses every OpenSource database in the Raspbian repos along with the WebEngine needed to be used to proof the instructions. This wasn't done because the wiki was developed from a "user story" via AGILE instead of proper software methodology. As a result, the instructions don't work for much beyond "Hello World!" > > Lastly I would like to point out that improving the bug report would > probably have taken less time than what you have invested on this complaint. > > Improving a bug report which will most likely rot until the next mass extermination would not have helped as many people nor would it have provided additional content for "The Phallus of AGILE and Other Ruminations" hopefully being released sometime next year. -- Roland Hughes, President Logikal Solutions (630)-205-1593 http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.johnsmith-book.com http://www.logikalblog.com http://www.interestingauthors.com/blog http://lesedi.us/ http://onedollarcontentstore.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Tue Oct 17 18:20:05 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Tue, 17 Oct 2017 09:20:05 -0700 Subject: [Interest] Interest Digest, Vol 73, Issue 18 In-Reply-To: <248670d1-ed07-0859-0820-6780d0a06d09@logikalsolutions.com> References: <248670d1-ed07-0859-0820-6780d0a06d09@logikalsolutions.com> Message-ID: <5046876.v4OuvICS5M@tjmaciei-mobl1> On terça-feira, 17 de outubro de 2017 08:11:13 PDT Roland Hughes wrote: > > The bug tracking system is under our control - it will not just > > disappear (from our perspective). > > Oh yes it will! > > Speaking as someone who has heard that soooooo many times before, let's > just count a few for Qt shall we. > > The Trolltech bug database was never going to just disappear (from our > perspective). It did. A tiny fraction of the bugs migrated to the new > system but most were mass exterminated with The TT TT was not a public database. It existed internally only. When we switched to a public bugtracker, we could only export some entries since many had confidential customer information. Those that were exported had to be review by a person to make sure we were not violation any NDAs or confidentiality. That's the same reason why the code repository starts with Qt 4.5, not earlier versions. > "The version this bug is reported against is no longer supported..." > > The Nokia bug tracker was never going to just disappear (from our > perspective). It did. Few, if any of the older bugs made it into the > current database. Most were mass exterminated with There was no Nokia database. We switched straight from the internal tdb (that's what it was called) to JIRA. > I hear from quite a few companies in similar boats. They started > development for a medical/industrial device which had a lengthy > testing/approval process, filed bug reports for that version only to see > them rot or fall victim to a mass extermination. Most open source projects don't support old versions, since they don't have the manpower to do so. > The current owners of Qt and the current OpenSource maintainers don't > offer or seem to understand the concept of an LTS (Long Term Support) > version. They are constantly pursuing script kiddies and that worthless > QML instead of maintaining the base which built them. This will soon > force a fork in the OpenSource project. One which rips out all of the > QML and focuses on nothing but bug fixes for 12 years. Yes, 12 years. Again, offence taken. I don't know who plans on forking. There's no such division in the community, so any attempt to do so will probably start with very few developers. Almost certainly, fewer than critical mass to maintain the codebase. See TQt (Trinity Project) for an example of a fork attempt. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From andrew at dkai.dk Tue Oct 17 18:22:03 2017 From: andrew at dkai.dk (Andrew Ialacci) Date: Tue, 17 Oct 2017 16:22:03 +0000 Subject: [Interest] Interest Digest, Vol 73, Issue 18 In-Reply-To: <248670d1-ed07-0859-0820-6780d0a06d09@logikalsolutions.com> References: , <248670d1-ed07-0859-0820-6780d0a06d09@logikalsolutions.com> Message-ID: Ronald You reported a bug, got a response and have made your other points 50x over now. If you don’t like how Qt handles things, fork the code base and maintain it yourself. Seriously this has been going on for over a week now. Take a step back and have drink. 🍸🍍🥝🍋🍉🍑 Sent from my iPad On Oct 17, 2017, at 5:17 PM, Roland Hughes > wrote: On 10/16/2017 02:22 AM, Viktor Engelmann wrote: If YOU need a copy of something which clearly will not fit within the confines of the bug tracker system YOU take the additional time to copy it. Turning your argument around, what happens when your current bug tracking system disappears and is replaced by something else? You _still_ lose the history. The bug tracking system is under our control - it will not just disappear (from our perspective). Oh yes it will! Speaking as someone who has heard that soooooo many times before, let's just count a few for Qt shall we. The Trolltech bug database was never going to just disappear (from our perspective). It did. A tiny fraction of the bugs migrated to the new system but most were mass exterminated with "The version this bug is reported against is no longer supported..." The Nokia bug tracker was never going to just disappear (from our perspective). It did. Few, if any of the older bugs made it into the current database. Most were mass exterminated with "The version this bug is reported against is no longer supported..." We could replace it some day in the future, but not without transferring the knowledge to a new system. Your blog post might just disappear (from our perspective) - I have seen situations like that often enough. Stackoverflow also demands that you briefly state what you find on a page you link (and for the same reason). At some point one of two things will happen. The company which currently owns Qt will be eaten _OR_ the OpenSource Qt project will fork. The second possibility is __extremely__ close to happening as I type this. There are an awful lot of companies, not to mention OpenSource projects which feel they have been completely abandoned by the powers which be at Qt. Indeed, many of them have been. I get a phone call 6-18 months from this pimp named Harmman (sp?) something or other to go work on a medical device enhancement. Need Qt 3 and OS/2 Warp skills. Company filed Qt 3 bugs which weren't addressed by then owners, had to customize Qt itself and is now maintaining their own little spinoff because enhancements don't require a 7+ year clinical trial process. I hear from quite a few companies in similar boats. They started development for a medical/industrial device which had a lengthy testing/approval process, filed bug reports for that version only to see them rot or fall victim to a mass extermination. The current owners of Qt and the current OpenSource maintainers don't offer or seem to understand the concept of an LTS (Long Term Support) version. They are constantly pursuing script kiddies and that worthless QML instead of maintaining the base which built them. This will soon force a fork in the OpenSource project. One which rips out all of the QML and focuses on nothing but bug fixes for 12 years. Yes, 12 years. That's how long these environments need a stable tool set. You have a 1-2 year development cycle, up to 7 years in clinical trials, and 5+ years of enhancement/maintenance product life. Enough of these companies are starting to run into each other or hire consultants who have worked at others in the same boat that the "maintain our own" philosophy is starting to morph into "we maintain a fork." Also, the blog post contains a lot of informations that are irrelevant to the bugreport (like where you got the instruction, the complaints of the other readers of that how-to, the complaint about the reliability of how-tos on the internet in general, etc.) Well, if you think "where you got the instruction" is irrelevant then you aren't qualified to fix the problem. The "where" is the most important part as it is the official wiki. That wiki is spawning lots of other blog posts and wikis which are also wrong because they are based on it. A single test application which uses every OpenSource database in the Raspbian repos along with the WebEngine needed to be used to proof the instructions. This wasn't done because the wiki was developed from a "user story" via AGILE instead of proper software methodology. As a result, the instructions don't work for much beyond "Hello World!" Lastly I would like to point out that improving the bug report would probably have taken less time than what you have invested on this complaint. Improving a bug report which will most likely rot until the next mass extermination would not have helped as many people nor would it have provided additional content for "The Phallus of AGILE and Other Ruminations" hopefully being released sometime next year. -- Roland Hughes, President Logikal Solutions (630)-205-1593 http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.johnsmith-book.com http://www.logikalblog.com http://www.interestingauthors.com/blog http://lesedi.us/ http://onedollarcontentstore.com _______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From roland at logikalsolutions.com Tue Oct 17 19:44:46 2017 From: roland at logikalsolutions.com (Roland Hughes) Date: Tue, 17 Oct 2017 12:44:46 -0500 Subject: [Interest] Interest Digest, Vol 73, Issue 18 In-Reply-To: References: <248670d1-ed07-0859-0820-6780d0a06d09@logikalsolutions.com> Message-ID: Btw, the name is Roland, not Ronald It will take more than a week to fix this problem. Sorry if that doesn't fit within your sprint. I try to have Chardonnay every night. On 10/17/2017 11:22 AM, Andrew Ialacci wrote: > Ronald > > You reported a bug, got a response and have made your other  points > 50x over now. > > If you don’t like how Qt handles things, fork the code base and > maintain it yourself. > > Seriously this has been going on for over a week now. > > Take a step back and have drink. 🍸🍍🥝🍋🍉🍑 > > Sent from my iPad > > On Oct 17, 2017, at 5:17 PM, Roland Hughes > > wrote: > >> >> On 10/16/2017 02:22 AM, Viktor Engelmann wrote: >>>> If YOU need a copy of something which clearly will not fit within the >>>> confines of the bug tracker system YOU take the additional time to >>>> copy it. >>>> >>>> Turning your argument around, what happens when your current bug >>>> tracking system disappears and is replaced by something else? You >>>> _still_ lose the history. >>>> >>> The bug tracking system is under our control - it will not just >>> disappear (from our perspective). >> Oh yes it will! >> >> Speaking as someone who has heard that soooooo many times before, >> let's just count a few for Qt shall we. >> >> The Trolltech bug database was never going to just disappear (from >> our perspective). It did. A tiny fraction of the bugs migrated to the >> new system but most were mass exterminated with >> >> "The version this bug is reported against is no longer supported..." >> >> The Nokia bug tracker was never going to just disappear (from our >> perspective). It did. Few, if any of the older bugs made it into the >> current database. Most were mass exterminated with >> >> "The version this bug is reported against is no longer supported..." >> We could replace it some day in the >>> future, but not without transferring the knowledge to a new system. Your >>> blog post might just disappear (from our perspective) - I have seen >>> situations like that often enough. Stackoverflow also demands that you >>> briefly state what you find on a page you link (and for the same reason). >> At some point one of two things will happen. The company which >> currently owns Qt will be eaten _OR_ the OpenSource Qt project will >> fork. The second possibility is __extremely__ close to happening as I >> type this. There are an awful lot of companies, not to mention >> OpenSource projects which feel they have been completely abandoned by >> the powers which be at Qt. Indeed, many of them have been. I get a >> phone call 6-18 months from this pimp named Harmman (sp?) something >> or other to go work on a medical device enhancement. Need Qt 3 and >> OS/2 Warp skills. Company filed Qt 3 bugs which weren't addressed by >> then owners, had to customize Qt itself and is now maintaining their >> own little spinoff because enhancements don't require a 7+ year >> clinical trial process. >> >> I hear from quite a few companies in similar boats. They started >> development for a medical/industrial device which had a lengthy >> testing/approval process, filed bug reports for that version only to >> see them rot or fall victim to a mass extermination. >> >> The current owners of Qt and the current OpenSource maintainers don't >> offer or seem to understand the concept of an LTS (Long Term Support) >> version. They are constantly pursuing script kiddies and that >> worthless QML instead of maintaining the base which built them. This >> will soon force a fork in the OpenSource project. One which rips out >> all of the QML and focuses on nothing but bug fixes for 12 years. >> Yes, 12 years. That's how long these environments need a stable tool >> set. You have a 1-2 year development cycle, up to 7 years in clinical >> trials, and 5+ years of enhancement/maintenance product life. Enough >> of these companies are starting to run into each other or hire >> consultants who have worked at others in the same boat that the >> "maintain our own" philosophy is starting to morph into "we maintain >> a fork." >> >>> Also, the blog post contains a lot of informations that are irrelevant >>> to the bugreport (like where you got the instruction, the complaints of >>> the other readers of that how-to, the complaint about the reliability of >>> how-tos on the internet in general, etc.) >> Well, if you think "where you got the instruction" is irrelevant then >> you aren't qualified to fix the problem. The "where" is the most >> important part as it is the official wiki. That wiki is spawning lots >> of other blog posts and wikis which are also wrong because they are >> based on it. >> >> A single test application which uses every OpenSource database in the >> Raspbian repos along with the WebEngine needed to be used to proof >> the instructions. This wasn't done because the wiki was developed >> from a "user story" via AGILE instead of proper software methodology. >> As a result, the instructions don't work for much beyond "Hello World!" >> >>> >>> Lastly I would like to point out that improving the bug report would >>> probably have taken less time than what you have invested on this complaint. >>> >>> >> Improving a bug report which will most likely rot until the next mass >> extermination would not have helped as many people nor would it have >> provided additional content for "The Phallus of AGILE and Other >> Ruminations" hopefully being released sometime next year. >> -- >> Roland Hughes, President >> Logikal Solutions >> (630)-205-1593 >> >> http://www.theminimumyouneedtoknow.com >> http://www.infiniteexposure.net >> http://www.johnsmith-book.com >> http://www.logikalblog.com >> http://www.interestingauthors.com/blog >> http://lesedi.us/ >> http://onedollarcontentstore.com >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest -- Roland Hughes, President Logikal Solutions (630)-205-1593 http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.johnsmith-book.com http://www.logikalblog.com http://www.interestingauthors.com/blog http://lesedi.us/ http://onedollarcontentstore.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From roland at logikalsolutions.com Tue Oct 17 20:11:50 2017 From: roland at logikalsolutions.com (Roland Hughes) Date: Tue, 17 Oct 2017 13:11:50 -0500 Subject: [Interest] Interest Digest Wiki instructions for PI cross compile do not work for PostgreSQL support In-Reply-To: References: Message-ID: <91317583-a01c-c518-60eb-9d9fb8fc9964@logikalsolutions.com> On 10/17/2017 12:54 PM, interest-request at qt-project.org wrote: > On ter?a-feira, 17 de outubro de 2017 08:11:13 PDT Roland Hughes wrote: >>> The bug tracking system is under our control - it will not just >>> disappear (from our perspective). >> Oh yes it will! >> >> Speaking as someone who has heard that soooooo many times before, let's >> just count a few for Qt shall we. >> >> The Trolltech bug database was never going to just disappear (from our >> perspective). It did. A tiny fraction of the bugs migrated to the new >> system but most were mass exterminated with > The TT TT was not a public database. It existed internally only. When we > switched to a public bugtracker, we could only export some entries since many > had confidential customer information. Those that were exported had to be > review by a person to make sure we were not violation any NDAs or > confidentiality. > > That's the same reason why the code repository starts with Qt 4.5, not earlier > versions. > >> "The version this bug is reported against is no longer supported..." >> >> The Nokia bug tracker was never going to just disappear (from our >> perspective). It did. Few, if any of the older bugs made it into the >> current database. Most were mass exterminated with > There was no Nokia database. We switched straight from the internal tdb > (that's what it was called) to JIRA. There was a Nokia bug base as well, at least for a while. I and others entered bugs into it back in the day. Your argument also re-enforces a great many bugs "simply disappeared." > >> I hear from quite a few companies in similar boats. They started >> development for a medical/industrial device which had a lengthy >> testing/approval process, filed bug reports for that version only to see >> them rot or fall victim to a mass extermination. > Most open source projects don't support old versions, since they don't have > the manpower to do so. > >> The current owners of Qt and the current OpenSource maintainers don't >> offer or seem to understand the concept of an LTS (Long Term Support) >> version. They are constantly pursuing script kiddies and that worthless >> QML instead of maintaining the base which built them. This will soon >> force a fork in the OpenSource project. One which rips out all of the >> QML and focuses on nothing but bug fixes for 12 years. Yes, 12 years. > Again, offence taken. Take all of the offense you want. Medical devices and industrial controls need LTS versions, not resource hogging QML features. Qt's chasing of the idiot phone market which has 6 months at best life spans is alienating and chasing away the very industries which made Qt successful. > > I don't know who plans on forking. There's no such division in the community, > so any attempt to do so will probably start with very few developers. Almost > certainly, fewer than critical mass to maintain the codebase. > > See TQt (Trinity Project) for an example of a fork attempt. It's easy to fork something you have been maintaining internally for years. There _IS_ such a division. You don't know about it because they don't come here. They justifiably believe they've been abandoned. The relentless pursuit of "new cool features" to please the phone crowd is causing the much larger medical device and industrial control industries to create their own LTS. How many questions have you seen on here over the past 18 months about Qt 3? That project Harmman (sp?) calls about periodically sells north of a million units per year and the company is maintaining Qt 3 on its own so they can make minor product enhancements which don't have to go though multi-year clinical trials. They aren't the only calls I get about products using Qt 3, 4.2, and the most likely soon to be orphaned (if not already) 4.8. Every company I am contacted about using earlier versions has their own staff maintaining the code base today. They have had no other choice. If anything, joining forces with someone who is not a competitor but using the same tool set will lighten their load. -- Roland Hughes, President Logikal Solutions (630)-205-1593 http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.johnsmith-book.com http://www.logikalblog.com http://www.interestingauthors.com/blog http://lesedi.us/ http://onedollarcontentstore.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From tripzero.kev at gmail.com Tue Oct 17 22:45:23 2017 From: tripzero.kev at gmail.com (Kevron Rees) Date: Tue, 17 Oct 2017 20:45:23 +0000 Subject: [Interest] QML Scene2D No Keyboard Events Message-ID: I'm trying to get keyboard events to my qml item that is being displayed as a texture using Scene2D. I have simply added Keys.onPressed and MouseArea to LogoControls[2] in the Scene2D example[1]. If I uncomment MouseArea, I can see the mouse click console.log message. But I never see "key pressed". Is there an extra step necessary to get Keyboard events to this item? [1] https://doc.qt.io/qt-5/qt3d-scene2d-example.html [2] LogoControls { id: logoControls width: offscreenTexture.width height: offscreenTexture.height focus: true Keys.onPressed: { console.log("key pressed") } /*MouseArea { anchors.fill: parent onClicked: { console.log("clicked...") } }*/ } -------------- next part -------------- An HTML attachment was scrubbed... URL: From jerome at bodycad.com Wed Oct 18 00:05:58 2017 From: jerome at bodycad.com (=?UTF-8?B?SsOpcsO0bWUgR29kYm91dA==?=) Date: Tue, 17 Oct 2017 18:05:58 -0400 Subject: [Interest] QML Scene2D No Keyboard Events In-Reply-To: References: Message-ID: Make sure you forward the Keys to the elements that can handle them: Keys.forwardTo: [] You can take a look at http://doc.qt.io/qt-5/qml-qtquick-keys.html#key-handling-priorities you probably have something else that is grabbing the key event. Try to forward from your root Item to the your element if it work and start displaying the trace, it mean the Key event is not reaching the Item (non Item element? bad parenting? something else is consuming the key event?) I don't have run the example but that would be my guess. [image: bodycad] Jerome Godbout Software Developer 2035 rue du Haut-Bord, Québec, QC, Canada. G1N 4R7 T: +1 418 527-1388 E: jerome at bodycad.com www.bodycad.com The contents of this email message and any attachments are intended solely for the addressee(s) and may contain confidential and/or privileged information and may be legally protected from disclosure. If you are not the intended recipient of this message or their agent, or if this message has been addressed to you in error, please immediately alert the sender by reply email and then delete this message and any attachments. If you are not the intended recipient, you are hereby notified that any use, dissemination, copying, or storage of this message or its attachments is strictly prohibited. Le contenu de ce message et les pièces jointes sont destinés uniquement pour le(s) destinataire(s) et peuvent contenir des informations confidentielles et / ou privilégiées qui peuvent être protégées légalement contre toute divulgation. Si vous n'êtes pas le destinataire de ce message ou son agent, ou si ce message vous a été adressé par erreur, s’il vous plaît avertir immédiatement l'expéditeur par courriel de réponse, puis supprimer ce message et les pièces jointes. Si vous n'êtes pas le destinataire prévu, vous êtes par la présente informé que toute utilisation, diffusion, copie, ou stockage de ce message ou de ses pièces jointes est strictement interdit. On Tue, Oct 17, 2017 at 4:45 PM, Kevron Rees wrote: > I'm trying to get keyboard events to my qml item that is being displayed > as a texture using Scene2D. I have simply added Keys.onPressed and > MouseArea to LogoControls[2] in the Scene2D example[1]. If I uncomment > MouseArea, I can see the mouse click console.log message. But I never see > "key pressed". Is there an extra step necessary to get Keyboard events to > this item? > > [1] https://doc.qt.io/qt-5/qt3d-scene2d-example.html > > [2] > > LogoControls { > > id: logoControls > > width: offscreenTexture.width > > height: offscreenTexture.height > > focus: true > > > Keys.onPressed: { > > console.log("key pressed") > > } > > > /*MouseArea { > > anchors.fill: parent > > onClicked: { > > console.log("clicked...") > > } > > }*/ > > } > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Wed Oct 18 09:08:05 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 18 Oct 2017 00:08:05 -0700 Subject: [Interest] [Development] Qt installation prefix path issue In-Reply-To: References: Message-ID: <1568868.tOqNYi3kPC@tjmaciei-mobl1> [moving to the interest mailing list; please drop development@ when replying] On Tuesday, 17 October 2017 23:38:24 PDT bhaskar kotha wrote: > How to configure Qt so that Qmake should not take absolute path. That's not possible. You can't move Qt: you have to decide where it's going to be the moment you configure. Also, please upgrade to 5.6, 5.9, 5.10. Qt 5.4 is not supported. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From chgans at gmail.com Wed Oct 18 09:17:07 2017 From: chgans at gmail.com (Christian Gagneraud) Date: Wed, 18 Oct 2017 20:17:07 +1300 Subject: [Interest] [Development] Qt installation prefix path issue In-Reply-To: References: <1568868.tOqNYi3kPC@tjmaciei-mobl1> Message-ID: On 18/10/2017 8:08 pm, "Thiago Macieira" wrote: [moving to the interest mailing list; please drop development@ when replying] On Tuesday, 17 October 2017 23:38:24 PDT bhaskar kotha wrote: > How to configure Qt so that Qmake should not take absolute path. That's not possible. You can't move Qt: you have to decide where it's going to be the moment you configure. It is actually possible, but it's far from trivial. Boot2qt Yocto SDK is doing exactly this. I don't have references right now, but the answer is in boot2qt git repositories. Basically you need to patch the binaries after relocation. Chris Also, please upgrade to 5.6, 5.9, 5.10. Qt 5.4 is not supported. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center _______________________________________________ Development mailing list Development at qt-project.org http://lists.qt-project.org/mailman/listinfo/development -------------- next part -------------- An HTML attachment was scrubbed... URL: From jhihn at gmx.com Wed Oct 18 16:22:59 2017 From: jhihn at gmx.com (Jason H) Date: Wed, 18 Oct 2017 16:22:59 +0200 Subject: [Interest] WebView will someone shed some light please In-Reply-To: <7135857.b7hVLUGJeF@franki> References: <3780597.bpLgYaAjT6@franki> <7135857.b7hVLUGJeF@franki> Message-ID: > It's not web-driven app, there are push notifications, in app purchase, google > api authorization and a few more. WebRTC allows me to use some "call center" > infrastructure with TURN and STUN servers provided by VoIP provider. They have > commercial JS library where all webRTC communications is done. I can access > camera no problem, did that for QR codes, but then I would have to do all > webRTC related stuff myself. Oh I see. Yeah, that's not a good position to be in. If they provided a native library you'd be better off. Maybe their code will work in V4 so you don't need a web view (Qt's JS engine)? Also, maybe the JS library they provide is just a thin wrapper around a native library? Otherwise, you'll have to find a compatible native library. It's frustratingly close to working as-is, I'll give you that! From annulen at yandex.ru Wed Oct 18 16:26:06 2017 From: annulen at yandex.ru (Konstantin Tokarev) Date: Wed, 18 Oct 2017 17:26:06 +0300 Subject: [Interest] WebView will someone shed some light please In-Reply-To: <7135857.b7hVLUGJeF@franki> References: <3780597.bpLgYaAjT6@franki> <7135857.b7hVLUGJeF@franki> Message-ID: <724851508336766@web36j.yandex.ru> 17.10.2017, 17:38, "Marek.Floriańczyk" : > Dnia wtorek, 17 października 2017 16:27:05 CEST Jason H pisze: >>  > Sent: Wednesday, October 11, 2017 at 12:47 PM >>  > From: "Marek.Floriańczyk" >>  > To: interest at qt-project.org >>  > Subject: [Interest] WebView will someone shed some light please >>  > >>  > Hi all, >>  > >>  > I need to ask about QML WebView module. >>  > I'm working on an mobile application that should display single web page >>  > with JS library for webRTC - audio/video transmission. >>  > It looks like web page is loaded, JS library starts up, but I can't access >>  > camera and mic. >>  > With QWebEngineView on Desktop platform it works, this web page also works >>  > when displayed it in chrome browser on the phone. >>  > >>  > From what I understand WebView is a wrapper around platform native web >>  > browser engine, since Android and iOS supports webRTC what is a real >>  > problem with WebView to support access to microphone and camera, like in >>  > QWebEngineView: onFeaturePermissionRequested: { >>  > >>  > grantFeaturePermission(securityOrigin, feature, true); >>  > >>  > } >>  > >>  > Is this some functionality that hasn't been written yet, or is it a deeper >>  > problem, policy or something else. >>  > This is a real showstopper in my project, so I need to ask is it possible >>  > to add some functionality to WebView module to support camera and mic >>  > access even with some support from commercial company and later make this >>  > code an open source contribution to WebView module ? >> >>  I cringe at the invocation of "show stopper" >>  You can make an app with with camera and webview and coordinate the switch >>  between the two. If you need a full-blown WebUI, then maybe Qt isn't the >>  right choice? I'm thinking React might be better if you're looking for a >>  fully web-driven app. > > Hi, > > It's not web-driven app, there are push notifications, in app purchase, google > api authorization and a few more. WebRTC allows me to use some "call center" > infrastructure with TURN and STUN servers provided by VoIP provider. They have > commercial JS library where all webRTC communications is done. I can access > camera no problem, did that for QR codes, but then I would have to do all > webRTC related stuff myself. You could use e.g. OpenWebRTC instead of doing all WebRTC stuff yourself > > Best Regards > Marek > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -- Regards, Konstantin From philwave at gmail.com Wed Oct 18 16:58:42 2017 From: philwave at gmail.com (Philippe) Date: Wed, 18 Oct 2017 16:58:42 +0200 Subject: [Interest] QStringLiteral and Visual Studio 2017 15.3 :( Message-ID: <20171018165841.61B8.6F0322A@gmail.com> FYI, I just discovered that QStringLiteral has become pretty expensive under Visual Studio 2017 15.3, compared to the past (Visual Studio 2015). Much more assembly code generated for the associated lambda, and _Init_thread_header / _Init_thread_footer is called at the first call of each instance of QStringLiteral . (which actually seems right, because of C++11's thread safe initialisations of static variables). Not sure to see any longer some interest in QStringLiteral... release-mode code generated for the related lambda: for VS 2017.3 / Qt 5.9.1 s = QStringLiteral("hello"); 00000001400B0E50 48 89 54 24 10 mov qword ptr [rsp+10h],rdx 00000001400B0E55 53 push rbx 00000001400B0E56 48 83 EC 30 sub rsp,30h 00000001400B0E5A 48 C7 44 24 28 FE FF FF FF mov qword ptr [rsp+28h],0FFFFFFFFFFFFFFFEh 00000001400B0E63 48 8B DA mov rbx,rdx 00000001400B0E66 C7 44 24 20 00 00 00 00 mov dword ptr [rsp+20h],0 00000001400B0E6E BA 04 00 00 00 mov edx,4 00000001400B0E73 65 48 8B 04 25 58 00 00 00 mov rax,qword ptr gs:[58h] 00000001400B0E7C 48 8B 08 mov rcx,qword ptr [rax] 00000001400B0E7F 8B 04 0A mov eax,dword ptr [rdx+rcx] 00000001400B0E82 39 05 AC A1 14 00 cmp dword ptr [TSS0<`template-parameter-2',ambda_3fac06832ce696139eca9cbb96d71ab3>,QString,void,int, ?? &> (01401FB034h)],eax 00000001400B0E88 7E 5F jle ::operator()+99h (01400B0EE9h) 00000001400B0E8A 48 8D 0D A3 A1 14 00 lea rcx,[TSS0<`template-parameter-2',ambda_3fac06832ce696139eca9cbb96d71ab3>,QString,void,int, ?? &> (01401FB034h)] 00000001400B0E91 E8 B6 14 03 00 call _Init_thread_header (01400E234Ch) 00000001400B0E96 90 nop 00000001400B0E97 83 3D 96 A1 14 00 FF cmp dword ptr [TSS0<`template-parameter-2',ambda_3fac06832ce696139eca9cbb96d71ab3>,QString,void,int, ?? &> (01401FB034h)],0FFFFFFFFh 00000001400B0E9E 75 49 jne ::operator()+99h (01400B0EE9h) 00000001400B0EA0 C7 05 36 9C 14 00 FF FF FF FF mov dword ptr [qstring_literal (01401FAAE0h)],0FFFFFFFFh 00000001400B0EAA 48 C7 05 2F 9C 14 00 05 00 00 00 mov qword ptr [qstring_literal+4h (01401FAAE4h)],5 00000001400B0EB5 48 C7 05 30 9C 14 00 18 00 00 00 mov qword ptr [qstring_literal+10h (01401FAAF0h)],18h 00000001400B0EC0 F2 0F 10 05 30 9C 10 00 movsd xmm0,mmword ptr [string "h\0e\0l\0l\0o\0\0" (01401BAAF8h)] 00000001400B0EC8 F2 0F 11 05 28 9C 14 00 movsd mmword ptr [qstring_literal+18h (01401FAAF8h)],xmm0 00000001400B0ED0 8B 05 2A 9C 10 00 mov eax,dword ptr [string "h\0e\0l\0l\0o\0\0"+8h (01401BAB00h)] 00000001400B0ED6 89 05 24 9C 14 00 mov dword ptr [qstring_literal+20h (01401FAB00h)],eax 00000001400B0EDC 48 8D 0D 51 A1 14 00 lea rcx,[TSS0<`template-parameter-2',ambda_3fac06832ce696139eca9cbb96d71ab3>,QString,void,int, ?? &> (01401FB034h)] 00000001400B0EE3 E8 04 14 03 00 call _Init_thread_footer (01400E22ECh) 00000001400B0EE8 90 nop 00000001400B0EE9 48 8D 05 F0 9B 14 00 lea rax,[qstring_literal (01401FAAE0h)] 00000001400B0EF0 48 89 03 mov qword ptr [rbx],rax 00000001400B0EF3 C7 44 24 20 01 00 00 00 mov dword ptr [rsp+20h],1 00000001400B0EFB 48 8B C3 mov rax,rbx 00000001400B0EFE 48 83 C4 30 add rsp,30h 00000001400B0F02 5B pop rbx 00000001400B0F03 C3 ret 00000001400B0F04 CC int 3 -------------- next part -------------- An HTML attachment was scrubbed... URL: From marek.florianczyk at gmail.com Wed Oct 18 17:14:57 2017 From: marek.florianczyk at gmail.com (=?utf-8?B?TWFyZWsuRmxvcmlhxYRjenlr?=) Date: Wed, 18 Oct 2017 17:14:57 +0200 Subject: [Interest] WebView will someone shed some light please In-Reply-To: <724851508336766@web36j.yandex.ru> References: <3780597.bpLgYaAjT6@franki> <7135857.b7hVLUGJeF@franki> <724851508336766@web36j.yandex.ru> Message-ID: <6234384.nAAttVEkCI@franki> Dnia środa, 18 października 2017 17:26:06 CEST Konstantin Tokarev pisze: > 17.10.2017, 17:38, "Marek.Floriańczyk" : > > Dnia wtorek, 17 października 2017 16:27:05 CEST Jason H pisze: > >> > Sent: Wednesday, October 11, 2017 at 12:47 PM > >> > From: "Marek.Floriańczyk" > >> > To: interest at qt-project.org > >> > Subject: [Interest] WebView will someone shed some light please > >> > > >> > Hi all, > >> > > >> > I need to ask about QML WebView module. > >> > I'm working on an mobile application that should display single web > >> page > >> > with JS library for webRTC - audio/video transmission. > >> > It looks like web page is loaded, JS library starts up, but I can't > >> access > camera and mic. > >> > With QWebEngineView on Desktop platform it works, this web page also > >> works > when displayed it in chrome browser on the phone. > >> > > >> > From what I understand WebView is a wrapper around platform native web > >> > browser engine, since Android and iOS supports webRTC what is a real > >> > problem with WebView to support access to microphone and camera, like > >> in > >> > QWebEngineView: onFeaturePermissionRequested: { > >> > > >> > grantFeaturePermission(securityOrigin, feature, true); > >> > > >> > } > >> > > >> > Is this some functionality that hasn't been written yet, or is it a > >> deeper > problem, policy or something else. > >> > This is a real showstopper in my project, so I need to ask is it > >> possible > to add some functionality to WebView module to support camera > >> and mic > access even with some support from commercial company and > >> later make this > code an open source contribution to WebView module ? > >> > >> I cringe at the invocation of "show stopper" > >> You can make an app with with camera and webview and coordinate the > >> switch > >> between the two. If you need a full-blown WebUI, then maybe Qt isn't the > >> right choice? I'm thinking React might be better if you're looking for a > >> fully web-driven app. > > > > Hi, > > > > It's not web-driven app, there are push notifications, in app purchase, > > google api authorization and a few more. WebRTC allows me to use some > > "call center" infrastructure with TURN and STUN servers provided by VoIP > > provider. They have commercial JS library where all webRTC communications > > is done. I can access camera no problem, did that for QR codes, but then > > I would have to do all webRTC related stuff myself. > > You could use e.g. OpenWebRTC instead of doing all WebRTC stuff yourself I admit that I'm not an expert. Try to make my living of writing apps in Qt. However, when I point WebView to opensource webRTC url: https://webrtc.github.io/samples/src/content/getusermedia/gum/ the problem is the same: Can't access camera and microphone. Please explain me, how open source webRTC should be different in that case ? There is open source webRTC in Qt and I'm sure it works in QWebEngineView. But since on mobile platform only available component is a WebView in which I can't access camera and microphone what is the difference between opensource webRTC and commercial JS library? Best Regards Marek > > > Best Regards > > Marek > > > > _______________________________________________ > > Interest mailing list > > Interest at qt-project.org > > http://lists.qt-project.org/mailman/listinfo/interest From thiago.macieira at intel.com Wed Oct 18 17:51:19 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 18 Oct 2017 08:51:19 -0700 Subject: [Interest] QStringLiteral and Visual Studio 2017 15.3 :( In-Reply-To: <20171018165841.61B8.6F0322A@gmail.com> References: <20171018165841.61B8.6F0322A@gmail.com> Message-ID: <1706773.1M76j0i9YM@tjmaciei-mobl1> On Wednesday, 18 October 2017 07:58:42 PDT Philippe wrote: > FYI, I just discovered that QStringLiteral has become pretty expensive under > Visual Studio 2017 15.3, compared to the past (Visual Studio 2015). > > Much more assembly code generated for the associated lambda, and > _Init_thread_header / _Init_thread_footer is called at the first call of > each instance of QStringLiteral . (which actually seems right, because of > C++11's thread safe initialisations of static variables). Not sure to see > any longer some interest in QStringLiteral... > > release-mode code generated for the related lambda: for VS 2017.3 / Qt 5.9.1 That's a Visual Studio compiler bug and regression. It's acknowledged by Microsoft. It's the same issue that makes using static builds impossible. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From annulen at yandex.ru Wed Oct 18 18:16:30 2017 From: annulen at yandex.ru (Konstantin Tokarev) Date: Wed, 18 Oct 2017 19:16:30 +0300 Subject: [Interest] WebView will someone shed some light please In-Reply-To: <6234384.nAAttVEkCI@franki> References: <3780597.bpLgYaAjT6@franki> <7135857.b7hVLUGJeF@franki> <724851508336766@web36j.yandex.ru> <6234384.nAAttVEkCI@franki> Message-ID: <2036721508343390@web27o.yandex.ru> 18.10.2017, 18:15, "Marek.Floriańczyk" : > Dnia środa, 18 października 2017 17:26:06 CEST Konstantin Tokarev pisze: >>  17.10.2017, 17:38, "Marek.Floriańczyk" : >>  > Dnia wtorek, 17 października 2017 16:27:05 CEST Jason H pisze: >>  >> > Sent: Wednesday, October 11, 2017 at 12:47 PM >>  >> > From: "Marek.Floriańczyk" >>  >> > To: interest at qt-project.org >>  >> > Subject: [Interest] WebView will someone shed some light please >>  >> > >>  >> > Hi all, >>  >> > >>  >> > I need to ask about QML WebView module. >>  >> > I'm working on an mobile application that should display single web >>  >> page >>  >> > with JS library for webRTC - audio/video transmission. >>  >> > It looks like web page is loaded, JS library starts up, but I can't >>  >> access > camera and mic. >>  >> > With QWebEngineView on Desktop platform it works, this web page also >>  >> works > when displayed it in chrome browser on the phone. >>  >> > >>  >> > From what I understand WebView is a wrapper around platform native web >>  >> > browser engine, since Android and iOS supports webRTC what is a real >>  >> > problem with WebView to support access to microphone and camera, like >>  >> in >>  >> > QWebEngineView: onFeaturePermissionRequested: { >>  >> > >>  >> > grantFeaturePermission(securityOrigin, feature, true); >>  >> > >>  >> > } >>  >> > >>  >> > Is this some functionality that hasn't been written yet, or is it a >>  >> deeper > problem, policy or something else. >>  >> > This is a real showstopper in my project, so I need to ask is it >>  >> possible > to add some functionality to WebView module to support camera >>  >> and mic > access even with some support from commercial company and >>  >> later make this > code an open source contribution to WebView module ? >>  >> >>  >> I cringe at the invocation of "show stopper" >>  >> You can make an app with with camera and webview and coordinate the >>  >> switch >>  >> between the two. If you need a full-blown WebUI, then maybe Qt isn't the >>  >> right choice? I'm thinking React might be better if you're looking for a >>  >> fully web-driven app. >>  > >>  > Hi, >>  > >>  > It's not web-driven app, there are push notifications, in app purchase, >>  > google api authorization and a few more. WebRTC allows me to use some >>  > "call center" infrastructure with TURN and STUN servers provided by VoIP >>  > provider. They have commercial JS library where all webRTC communications >>  > is done. I can access camera no problem, did that for QR codes, but then >>  > I would have to do all webRTC related stuff myself. >> >>  You could use e.g. OpenWebRTC instead of doing all WebRTC stuff yourself > > I admit that I'm not an expert. Try to make my living of writing apps in Qt. > > However, when I point WebView to opensource webRTC url: > https://webrtc.github.io/samples/src/content/getusermedia/gum/ > > the problem is the same: Can't access camera and microphone. > Please explain me, how open source webRTC should be different in that case ? > > There is open source webRTC in Qt and I'm sure it works in QWebEngineView. > > But since on mobile platform only available component is a WebView in which I > can't access camera and microphone what is the difference between opensource > webRTC and commercial JS library? JS library is inherently limited by capabilities of underlying web engine. In case of WebView, this is the same engine as Safari uses, and if you have older iOS version without Safari 11, you won't get any WebRTC support in your JS. OTOH there are native libraries which allow using WebRTC on wider range of iOS versions. > > Best Regards > Marek > >>  > Best Regards >>  > Marek >>  > >>  > _______________________________________________ >>  > Interest mailing list >>  > Interest at qt-project.org >>  > http://lists.qt-project.org/mailman/listinfo/interest -- Regards, Konstantin From marek.florianczyk at gmail.com Wed Oct 18 19:30:43 2017 From: marek.florianczyk at gmail.com (=?utf-8?B?TWFyZWsuRmxvcmlhxYRjenlr?=) Date: Wed, 18 Oct 2017 19:30:43 +0200 Subject: [Interest] WebView will someone shed some light please In-Reply-To: <2036721508343390@web27o.yandex.ru> References: <3780597.bpLgYaAjT6@franki> <6234384.nAAttVEkCI@franki> <2036721508343390@web27o.yandex.ru> Message-ID: <3018271.deY8TjKCmr@franki> Dnia środa, 18 października 2017 19:16:30 CEST Konstantin Tokarev pisze: > 18.10.2017, 18:15, "Marek.Floriańczyk" : > > Dnia środa, 18 października 2017 17:26:06 CEST Konstantin Tokarev pisze: > >> 17.10.2017, 17:38, "Marek.Floriańczyk" : > >> > Dnia wtorek, 17 października 2017 16:27:05 CEST Jason H pisze: > >> >> > Sent: Wednesday, October 11, 2017 at 12:47 PM > >> >> > From: "Marek.Floriańczyk" > >> >> > To: interest at qt-project.org > >> >> > Subject: [Interest] WebView will someone shed some light please > >> >> > > >> >> > Hi all, > >> >> > > >> >> > I need to ask about QML WebView module. > >> >> > I'm working on an mobile application that should display single web > >> >> page > >> >> > with JS library for webRTC - audio/video transmission. > >> >> > It looks like web page is loaded, JS library starts up, but I can't > >> >> access > camera and mic. > >> >> > With QWebEngineView on Desktop platform it works, this web page > >> also > >> >> works > when displayed it in chrome browser on the phone. > >> >> > > >> >> > From what I understand WebView is a wrapper around platform native > >> web >> > browser engine, since Android and iOS supports webRTC what is a > >> real >> > problem with WebView to support access to microphone and > >> camera, like >> in > >> >> > QWebEngineView: onFeaturePermissionRequested: { > >> >> > > >> >> > grantFeaturePermission(securityOrigin, feature, true); > >> >> > > >> >> > } > >> >> > > >> >> > Is this some functionality that hasn't been written yet, or is it a > >> >> deeper > problem, policy or something else. > >> >> > This is a real showstopper in my project, so I need to ask is it > >> >> possible > to add some functionality to WebView module to support > >> camera >> and mic > access even with some support from commercial > >> company and >> later make this > code an open source contribution to > >> WebView module ? >> > >> >> I cringe at the invocation of "show stopper" > >> >> You can make an app with with camera and webview and coordinate the > >> >> switch > >> >> between the two. If you need a full-blown WebUI, then maybe Qt isn't > >> the >> right choice? I'm thinking React might be better if you're > >> looking for a >> fully web-driven app. > >> > > >> > Hi, > >> > > >> > It's not web-driven app, there are push notifications, in app > >> purchase, > >> > google api authorization and a few more. WebRTC allows me to use some > >> > "call center" infrastructure with TURN and STUN servers provided by > >> VoIP > >> > provider. They have commercial JS library where all webRTC > >> communications > is done. I can access camera no problem, did that for > >> QR codes, but then > I would have to do all webRTC related stuff myself. > >> > >> You could use e.g. OpenWebRTC instead of doing all WebRTC stuff yourself > > > > I admit that I'm not an expert. Try to make my living of writing apps in > > Qt. > > > > However, when I point WebView to opensource webRTC url: > > https://webrtc.github.io/samples/src/content/getusermedia/gum/ > > > > the problem is the same: Can't access camera and microphone. > > Please explain me, how open source webRTC should be different in that case > > ? > > > > There is open source webRTC in Qt and I'm sure it works in QWebEngineView. > > > > But since on mobile platform only available component is a WebView in > > which I can't access camera and microphone what is the difference between > > opensource webRTC and commercial JS library? > > JS library is inherently limited by capabilities of underlying web engine. > In case of WebView, this is the same engine as Safari uses, and if you have > older iOS version without Safari 11, you won't get any WebRTC support in > your JS. > > OTOH there are native libraries which allow using WebRTC on wider range of > iOS versions. Would you mind naming one webRTC library that works under Qt WebView at least on Android? Best Regards Marek > > > Best Regards > > Marek > > > >> > Best Regards > >> > Marek > >> > > >> > _______________________________________________ > >> > Interest mailing list > >> > Interest at qt-project.org > >> > http://lists.qt-project.org/mailman/listinfo/interest From tripzero.kev at gmail.com Wed Oct 18 19:39:26 2017 From: tripzero.kev at gmail.com (Kevron Rees) Date: Wed, 18 Oct 2017 17:39:26 +0000 Subject: [Interest] QML Scene2D No Keyboard Events In-Reply-To: References: Message-ID: On Tue, Oct 17, 2017 at 3:05 PM Jérôme Godbout wrote: > Make sure you forward the Keys to the elements that can handle them: > > Keys.forwardTo: [] > > You can take a look at > http://doc.qt.io/qt-5/qml-qtquick-keys.html#key-handling-priorities > you probably have something else that is grabbing the key event. > This is probably the case. In the Scene2D, "Entity" is the root object. I can't use Keys.forwardTo here because Entity (the root is not an Item. I'm guessing Keyboard input is handled differently in Qt3D. I can put a KeyboardDevice and KeyboardHandler inside of the Entity that contains Scene2D and that seems to work. But the entity is capturing keyboard input and there doesn't appear to be a way to forward it to the qml Item being drawn inside Scene2D. Without keyboard input, the Scene2D example is incomplete. > > Try to forward from your root Item to the your element if it work and > start displaying the trace, it mean the Key event is not reaching the Item > (non Item element? bad parenting? something else is consuming the key > event?) I don't have run the example but that would be my guess. > > [image: bodycad] > Jerome Godbout > Software Developer > 2035 rue du Haut-Bord, Québec, QC, Canada. G1N 4R7 > > T: +1 418 527-1388 <(418)%20527-1388> > E: jerome at bodycad.com > www.bodycad.com > > The contents of this email message and any attachments are intended solely > for the addressee(s) and may contain confidential and/or privileged > information and may be legally protected from disclosure. If you are not > the intended recipient of this message or their agent, or if this message > has been addressed to you in error, please immediately alert the sender by > reply email and then delete this message and any attachments. If you are > not the intended recipient, you are hereby notified that any use, > dissemination, copying, or storage of this message or its attachments is > strictly prohibited. > > Le contenu de ce message et les pièces jointes sont destinés uniquement > pour le(s) destinataire(s) et peuvent contenir des informations > confidentielles et / ou privilégiées qui peuvent être protégées légalement > contre toute divulgation. Si vous n'êtes pas le destinataire de ce message > ou son agent, ou si ce message vous a été adressé par erreur, s’il vous > plaît avertir immédiatement l'expéditeur par courriel de réponse, puis > supprimer ce message et les pièces jointes. Si vous n'êtes pas le > destinataire prévu, vous êtes par la présente informé que toute > utilisation, diffusion, copie, ou stockage de ce message ou de ses pièces > jointes est strictement interdit. > > On Tue, Oct 17, 2017 at 4:45 PM, Kevron Rees > wrote: > >> I'm trying to get keyboard events to my qml item that is being displayed >> as a texture using Scene2D. I have simply added Keys.onPressed and >> MouseArea to LogoControls[2] in the Scene2D example[1]. If I uncomment >> MouseArea, I can see the mouse click console.log message. But I never see >> "key pressed". Is there an extra step necessary to get Keyboard events to >> this item? >> >> [1] https://doc.qt.io/qt-5/qt3d-scene2d-example.html >> >> [2] >> >> LogoControls { >> >> id: logoControls >> >> width: offscreenTexture.width >> >> height: offscreenTexture.height >> >> focus: true >> >> >> Keys.onPressed: { >> >> console.log("key pressed") >> >> } >> >> >> /*MouseArea { >> >> anchors.fill: parent >> >> onClicked: { >> >> console.log("clicked...") >> >> } >> >> }*/ >> >> } >> >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From annulen at yandex.ru Wed Oct 18 19:41:20 2017 From: annulen at yandex.ru (Konstantin Tokarev) Date: Wed, 18 Oct 2017 20:41:20 +0300 Subject: [Interest] WebView will someone shed some light please In-Reply-To: <3018271.deY8TjKCmr@franki> References: <3780597.bpLgYaAjT6@franki> <6234384.nAAttVEkCI@franki> <2036721508343390@web27o.yandex.ru> <3018271.deY8TjKCmr@franki> Message-ID: <140711508348480@web13o.yandex.ru> 18.10.2017, 20:30, "Marek.Floriańczyk" : > Dnia środa, 18 października 2017 19:16:30 CEST Konstantin Tokarev pisze: >>  18.10.2017, 18:15, "Marek.Floriańczyk" : >>  > Dnia środa, 18 października 2017 17:26:06 CEST Konstantin Tokarev pisze: >>  >> 17.10.2017, 17:38, "Marek.Floriańczyk" : >>  >> > Dnia wtorek, 17 października 2017 16:27:05 CEST Jason H pisze: >>  >> >> > Sent: Wednesday, October 11, 2017 at 12:47 PM >>  >> >> > From: "Marek.Floriańczyk" >>  >> >> > To: interest at qt-project.org >>  >> >> > Subject: [Interest] WebView will someone shed some light please >>  >> >> > >>  >> >> > Hi all, >>  >> >> > >>  >> >> > I need to ask about QML WebView module. >>  >> >> > I'm working on an mobile application that should display single web >>  >> >> page >>  >> >> > with JS library for webRTC - audio/video transmission. >>  >> >> > It looks like web page is loaded, JS library starts up, but I can't >>  >> >> access > camera and mic. >>  >> >> > With QWebEngineView on Desktop platform it works, this web page >>  >> also >>  >> >> works > when displayed it in chrome browser on the phone. >>  >> >> > >>  >> >> > From what I understand WebView is a wrapper around platform native >>  >> web >> > browser engine, since Android and iOS supports webRTC what is a >>  >> real >> > problem with WebView to support access to microphone and >>  >> camera, like >> in >>  >> >> > QWebEngineView: onFeaturePermissionRequested: { >>  >> >> > >>  >> >> > grantFeaturePermission(securityOrigin, feature, true); >>  >> >> > >>  >> >> > } >>  >> >> > >>  >> >> > Is this some functionality that hasn't been written yet, or is it a >>  >> >> deeper > problem, policy or something else. >>  >> >> > This is a real showstopper in my project, so I need to ask is it >>  >> >> possible > to add some functionality to WebView module to support >>  >> camera >> and mic > access even with some support from commercial >>  >> company and >> later make this > code an open source contribution to >>  >> WebView module ? >> >>  >> >> I cringe at the invocation of "show stopper" >>  >> >> You can make an app with with camera and webview and coordinate the >>  >> >> switch >>  >> >> between the two. If you need a full-blown WebUI, then maybe Qt isn't >>  >> the >> right choice? I'm thinking React might be better if you're >>  >> looking for a >> fully web-driven app. >>  >> > >>  >> > Hi, >>  >> > >>  >> > It's not web-driven app, there are push notifications, in app >>  >> purchase, >>  >> > google api authorization and a few more. WebRTC allows me to use some >>  >> > "call center" infrastructure with TURN and STUN servers provided by >>  >> VoIP >>  >> > provider. They have commercial JS library where all webRTC >>  >> communications > is done. I can access camera no problem, did that for >>  >> QR codes, but then > I would have to do all webRTC related stuff myself. >>  >> >>  >> You could use e.g. OpenWebRTC instead of doing all WebRTC stuff yourself >>  > >>  > I admit that I'm not an expert. Try to make my living of writing apps in >>  > Qt. >>  > >>  > However, when I point WebView to opensource webRTC url: >>  > https://webrtc.github.io/samples/src/content/getusermedia/gum/ >>  > >>  > the problem is the same: Can't access camera and microphone. >>  > Please explain me, how open source webRTC should be different in that case >>  > ? >>  > >>  > There is open source webRTC in Qt and I'm sure it works in QWebEngineView. >>  > >>  > But since on mobile platform only available component is a WebView in >>  > which I can't access camera and microphone what is the difference between >>  > opensource webRTC and commercial JS library? >> >>  JS library is inherently limited by capabilities of underlying web engine. >>  In case of WebView, this is the same engine as Safari uses, and if you have >>  older iOS version without Safari 11, you won't get any WebRTC support in >>  your JS. >> >>  OTOH there are native libraries which allow using WebRTC on wider range of >>  iOS versions. > > Would you mind naming one webRTC library that works under Qt WebView at least > on Android? I mean, library that works *outside of* any web view, i.e. native https://webrtc.org/native-code/ios/ https://www.openwebrtc.org/home (e.g. used in this app: https://www.openwebrtc.org/bowser/) > > Best Regards > Marek > >>  > Best Regards >>  > Marek >>  > >>  >> > Best Regards >>  >> > Marek >>  >> > >>  >> > _______________________________________________ >>  >> > Interest mailing list >>  >> > Interest at qt-project.org >>  >> > http://lists.qt-project.org/mailman/listinfo/interest -- Regards, Konstantin From hamish at risingsoftware.com Thu Oct 19 00:32:58 2017 From: hamish at risingsoftware.com (Hamish Moffatt) Date: Thu, 19 Oct 2017 09:32:58 +1100 Subject: [Interest] WebView will someone shed some light please In-Reply-To: <6234384.nAAttVEkCI@franki> References: <3780597.bpLgYaAjT6@franki> <7135857.b7hVLUGJeF@franki> <724851508336766@web36j.yandex.ru> <6234384.nAAttVEkCI@franki> Message-ID: <788a948d-ba07-407c-1b27-faa43ee825cb@risingsoftware.com> On 19/10/17 02:14, Marek.Floriańczyk wrote: > the problem is the same: Can't access camera and microphone. > Please explain me, how open source webRTC should be different in that case ? > > There is open source webRTC in Qt and I'm sure it works in QWebEngineView. > > But since on mobile platform only available component is a WebView in which I > can't access camera and microphone what is the difference between opensource > webRTC and commercial JS library? Are you sure that it works on any mobile platform with the commercial library? iOS Safari has not allowed access to the JS getUserMedia() API until iOS 11.  https://caniuse.com/#search=getuser Hamish From frank at ohufx.com Thu Oct 19 07:04:45 2017 From: frank at ohufx.com (Frank Rueter | OHUfx) Date: Thu, 19 Oct 2017 18:04:45 +1300 Subject: [Interest] make QCompleter behave like terminal compleetion Message-ID: <63f8be62-7e7f-8973-4582-05a481705b9f@ohufx.com> Hi all, I am trying to make a QLineEdit behave like a terminal in terms of auto completing file paths when hitting the tab key. I found this article but it only gets me half way there. The tab key does work with this (slightly modified) code but it only selects the next matching word, when I need it to complete a match if possible and enter the next level. Best to explain using an example I guess: There is a file path like this: /level1/level2/level3 Then I type "/le" and hit tab it auto-completes to "/level1", but it does not add the trailing slash requiring me to hit enter first, then start typing again. If there are no other matches I need the tab key to auto-complete and enter the next directory. Could somebody help me out please? Cheers, frank -- ohufxLogo 50x50 *vfx compositing | *workflow customisation and consulting * * -------------- next part -------------- An HTML attachment was scrubbed... URL: From kevin.funk at kdab.com Fri Oct 6 11:47:04 2017 From: kevin.funk at kdab.com (Kevin Funk) Date: Fri, 06 Oct 2017 11:47:04 +0200 Subject: [Interest] CMAKE with Static Qt In-Reply-To: References: Message-ID: <16955393.5utHeta5Nz@kerberos> On Friday, 6 October 2017 00:17:57 CEST .... .... wrote: > Does qt support static executable builds with cmake without the need to > explicitly define all the dependent libraries? Is there any solution I can > look up online? Unfortunately it is not possible at the moment, the functionality has not been implemented. Please note there are already multiple reports of this issue, for instance: https://cmake.org/pipermail/cmake/2015-March/060069.html, or https://stackoverflow.com/questions/41765673/static-linking-against-qt-on-windows-using-cmake ... The bug report where all this is tracked is: https://bugreports.qt.io/browse/QTBUG-38913 No immediate plans to implement this feature either as far as I can see, unfortunately there are other CMake-related issues popping up all the time which we try to fix first. Implementing this feature here would require some dedicated effort to get right. Regards, Kevin -- Kevin Funk | kevin.funk at kdab.com | Senior Software Engineer KDAB (Deutschland) GmbH, a KDAB Group company Tel: +49-30-521325470 KDAB - The Qt, C++ and OpenGL Experts -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 5322 bytes Desc: not available URL: From odie.mcnally at gmail.com Tue Oct 10 11:27:13 2017 From: odie.mcnally at gmail.com (Odie McNally) Date: Tue, 10 Oct 2017 10:27:13 +0100 Subject: [Interest] QApplication::ApplicationStateChanged Signal Not Emitted When In EGLFS Message-ID: <013401d341a9$f54cdcd0$dfe69670$@gmail.com> Hi all, I have a QApplication object have connected its QApplicationStateChanged signal to a slot in a custom object. In the slot, I test on the Qt::ApplicationState parameter and, if the QApplication is in the ApplicationReady state I begin drawing objects on my interface. This works fine when run with the default plugin (I am assuming XCB but not sure how to confirm that) but when run with -platform eglfs the signal doesn't seem to be emitted. Or, perhaps more accurately, the connected slot is not called. I can verify that the application state changes by querying and printing the QApplication::ApplicationState() at different times - the state certainly does change from 2 (ApplicationInactive) to 4 (ApplicationReady) but the signal is never emitted. I can emit the signal myself before the call to app.exec() but this results in drawing being done before the window is initialised and positioning, scaling etc. doesn't behave as it should. I can create a single-shot timer and connect the QTimer::timeout() signal to a slot which emits the QApplication::ApplicationStateChanged signal with the correct state, but this feels a bit of a nasty hack around it. Is there something I'm missing? I'm developing in Debian Jessie 64bit and Qt 5.9. Also running on an Odroid XU4 but the described behaviour is evident in both environments In case it's of benefit, I can provide some example code: int main(int argc, char *argv[]) { QApplication app(argc, argv); std::cout << "Application state: " << app.applicationState();//Output here is: Application state: 2 std::cin.ignore(); MyObject* mObject = new MyObject(&engine, window, mPrint_info, &app);//App only passed here to be used in timed ApplicationState slot QThread::connect(&app, SIGNAL(applicationStateChanged(Qt::ApplicationState )), MyObject, SLOT(app_state(Qt::ApplicationState )));//Connect application's StateChanged() signal to handler in MyObject. Using this mechanism, we can draw elements on the view when the window has initialised. This connection works with the default platform but doesn't seem to work in eglfs. QTimer* myTimer = new QTimer(); myTimer->setInterval(1000); QThread::connect(myTimer, SIGNAL(timeout()), MyObject, SLOT(temp())); myTimer->start(); //Inside temp() is an emit->app->applicationStateChanged(Qt::ApplicationReady). This is a (hopefully) temporary workaround to get drawing working properly in EGLFS. rc = app.exec(); delete component; return rc; } And in MyObject: void MyObject::app_state(Qt::ApplicationState state)//This needs to be called after the UI has initialised and all widths, heights etc. have valid values. Works well in default platform { if(state == Qt::ApplicationState::ApplicationActive) { if(!this->work_set) { //Draw to GUI //Other logic this->sensors_set = true; } } } void LabelUpdater::temp()//When called from the QTimer slot after 1second, this allows drawing to be performed as expected running in EGLFS { std::cout << "[LabelUpdater::temp()]: In temp();" << std::endl; if( app->applicationState() == Qt::ApplicationActive ) emit this->app->applicationStateChanged(Qt::ApplicationActive); } -------------- next part -------------- An HTML attachment was scrubbed... URL: From loic.legoff9 at gmail.com Mon Oct 16 21:17:28 2017 From: loic.legoff9 at gmail.com (Loic Le Goff) Date: Mon, 16 Oct 2017 12:17:28 -0700 Subject: [Interest] QPainter overlapping lines display problem. Message-ID: Hello developpers ! I'am trying to draw multiple lines with a width of 1px (my pen is fully opaque), some of them are sitting on top of each other on some segments. The default display at scale 1 is fine/uniform. When I zoom out, lines become less than 1px on screen and they start to appear with opacity causing that I can see other lines below it. My antialiasing is off. Is there a reason why the opacity is changing ? How to avoid that ? Here is the topic on the forum : https://forum.qt.io/topic/84154/painter-drawline-overlapping-opacity-problems-with-100-opaque-pen/13 Thank you if you can help, this is a very annoying problem. -------------- next part -------------- An HTML attachment was scrubbed... URL: From rbehm at hushmail.com Thu Oct 19 08:47:58 2017 From: rbehm at hushmail.com (Reinhardt Behm) Date: Thu, 19 Oct 2017 14:47:58 +0800 Subject: [Interest] QPainter overlapping lines display problem. In-Reply-To: References: Message-ID: On Monday 16 October 2017 12:17:28 Loic Le Goff wrote: > Hello developpers ! > > I'am trying to draw multiple lines with a width of 1px (my pen is fully > opaque), some of them are sitting on top of each other on some segments. > The default display at scale 1 is fine/uniform. > When I zoom out, lines become less than 1px on screen and they start to > appear with opacity causing that I can see other lines below it. > My antialiasing is off. > > Is there a reason why the opacity is changing ? How to avoid that ? > > Here is the topic on the forum : > https://forum.qt.io/topic/84154/painter-drawline-overlapping-opacity-problem > s-with-100-opaque-pen/13 > > Thank you if you can help, this is a very annoying problem. Caused by anitaliasing? -- Reinhardt From marek.florianczyk at gmail.com Thu Oct 19 10:02:27 2017 From: marek.florianczyk at gmail.com (=?utf-8?B?TWFyZWsuRmxvcmlhxYRjenlr?=) Date: Thu, 19 Oct 2017 10:02:27 +0200 Subject: [Interest] WebView will someone shed some light please In-Reply-To: <788a948d-ba07-407c-1b27-faa43ee825cb@risingsoftware.com> References: <3780597.bpLgYaAjT6@franki> <6234384.nAAttVEkCI@franki> <788a948d-ba07-407c-1b27-faa43ee825cb@risingsoftware.com> Message-ID: <3729735.410PrX5MbR@franki> Dnia czwartek, 19 października 2017 09:32:58 CEST Hamish Moffatt pisze: > On 19/10/17 02:14, Marek.Floriańczyk wrote: > > the problem is the same: Can't access camera and microphone. > > Please explain me, how open source webRTC should be different in that case > > ? > > > > There is open source webRTC in Qt and I'm sure it works in QWebEngineView. > > > > But since on mobile platform only available component is a WebView in > > which I can't access camera and microphone what is the difference between > > opensource webRTC and commercial JS library? > > Are you sure that it works on any mobile platform with the commercial > library? > > iOS Safari has not allowed access to the JS getUserMedia() API until iOS > 11. https://caniuse.com/#search=getuser Right.It works since iOS 11 version. Marek > > > > Hamish > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest From flamaros.xavier at gmail.com Thu Oct 19 11:03:10 2017 From: flamaros.xavier at gmail.com (Xavier Bigand) Date: Thu, 19 Oct 2017 11:03:10 +0200 Subject: [Interest] [Qt3D] Mixing C++ and QML Message-ID: Hi, I am looking for a way to manage an Entity tree in C++ and the Scene configuration in QML. My C++ code manage entities from a root node and I want to move the Frame graph and camera management,... to qml. I can't figure out how to do that because if create a class that derive from QEntity some properties of Entity aren't declared like "components". My goal is to have an object hierarchy made with QEntity in c++ and dynamic views on it made in QML. Scene views should be dockable,... PS: I am using Qt 5.9.2 -- Xavier -------------- next part -------------- An HTML attachment was scrubbed... URL: From laszlo.agocs at qt.io Thu Oct 19 11:14:22 2017 From: laszlo.agocs at qt.io (Laszlo Agocs) Date: Thu, 19 Oct 2017 09:14:22 +0000 Subject: [Interest] QApplication::ApplicationStateChanged Signal Not Emitted When In EGLFS In-Reply-To: <013401d341a9$f54cdcd0$dfe69670$@gmail.com> References: <013401d341a9$f54cdcd0$dfe69670$@gmail.com> Message-ID: Hi, Just like on other platforms where the application state concept have no meaning whatsoever, on eglfs the change to ApplicationActive is supposed be faked when the first window is becoming active. It seems this is not happening for some reason. If you can, please create a bug report in Jira (https://bugreports.qt.io). If mobile platforms are not interesting for your project, then it could also be an option to move to some other mechanism, e.g. reimplement QWindow::exposeEvent() (or have an event filter, etc.) and start initializing when isExposed() becomes true. Best regards, Laszlo From: Interest [mailto:interest-bounces+laszlo.agocs=qt.io at qt-project.org] On Behalf Of Odie McNally Sent: tirsdag 10. oktober 2017 11.27 To: interest at qt-project.org Subject: [Interest] QApplication::ApplicationStateChanged Signal Not Emitted When In EGLFS Hi all, I have a QApplication object have connected its QApplicationStateChanged signal to a slot in a custom object. In the slot, I test on the Qt::ApplicationState parameter and, if the QApplication is in the ApplicationReady state I begin drawing objects on my interface. This works fine when run with the default plugin (I am assuming XCB but not sure how to confirm that) but when run with -platform eglfs the signal doesn't seem to be emitted. Or, perhaps more accurately, the connected slot is not called. I can verify that the application state changes by querying and printing the QApplication::ApplicationState() at different times - the state certainly does change from 2 (ApplicationInactive) to 4 (ApplicationReady) but the signal is never emitted. I can emit the signal myself before the call to app.exec() but this results in drawing being done before the window is initialised and positioning, scaling etc. doesn't behave as it should. I can create a single-shot timer and connect the QTimer::timeout() signal to a slot which emits the QApplication::ApplicationStateChanged signal with the correct state, but this feels a bit of a nasty hack around it. Is there something I'm missing? I'm developing in Debian Jessie 64bit and Qt 5.9. Also running on an Odroid XU4 but the described behaviour is evident in both environments In case it's of benefit, I can provide some example code: int main(int argc, char *argv[]) { QApplication app(argc, argv); std::cout << "Application state: " << app.applicationState();//Output here is: Application state: 2 std::cin.ignore(); MyObject* mObject = new MyObject(&engine, window, mPrint_info, &app);//App only passed here to be used in timed ApplicationState slot QThread::connect(&app, SIGNAL(applicationStateChanged(Qt::ApplicationState )), MyObject, SLOT(app_state(Qt::ApplicationState )));//Connect application's StateChanged() signal to handler in MyObject. Using this mechanism, we can draw elements on the view when the window has initialised. This connection works with the default platform but doesn't seem to work in eglfs. QTimer* myTimer = new QTimer(); myTimer->setInterval(1000); QThread::connect(myTimer, SIGNAL(timeout()), MyObject, SLOT(temp())); myTimer->start(); //Inside temp() is an emit->app->applicationStateChanged(Qt::ApplicationReady). This is a (hopefully) temporary workaround to get drawing working properly in EGLFS. rc = app.exec(); delete component; return rc; } And in MyObject: void MyObject::app_state(Qt::ApplicationState state)//This needs to be called after the UI has initialised and all widths, heights etc. have valid values. Works well in default platform { if(state == Qt::ApplicationState::ApplicationActive) { if(!this->work_set) { //Draw to GUI //Other logic this->sensors_set = true; } } } void LabelUpdater::temp()//When called from the QTimer slot after 1second, this allows drawing to be performed as expected running in EGLFS { std::cout << "[LabelUpdater::temp()]: In temp();" << std::endl; if( app->applicationState() == Qt::ApplicationActive ) emit this->app->applicationStateChanged(Qt::ApplicationActive); } -------------- next part -------------- An HTML attachment was scrubbed... URL: From vladstelmahovsky at gmail.com Thu Oct 19 11:38:49 2017 From: vladstelmahovsky at gmail.com (Vlad Stelmahovsky) Date: Thu, 19 Oct 2017 11:38:49 +0200 Subject: [Interest] Interest Digest Wiki instructions for PI cross compile do not work for PostgreSQL support In-Reply-To: <91317583-a01c-c518-60eb-9d9fb8fc9964@logikalsolutions.com> References: <91317583-a01c-c518-60eb-9d9fb8fc9964@logikalsolutions.com> Message-ID: QML is not that resource hogging as JS. dont use JS and you'll be fine On Tue, Oct 17, 2017 at 8:11 PM, Roland Hughes wrote: > > > On 10/17/2017 12:54 PM, interest-request at qt-project.org wrote: > > On ter?a-feira, 17 de outubro de 2017 08:11:13 PDT Roland Hughes wrote: > > The bug tracking system is under our control - it will not just > disappear (from our perspective). > > Oh yes it will! > > Speaking as someone who has heard that soooooo many times before, let's > just count a few for Qt shall we. > > The Trolltech bug database was never going to just disappear (from our > perspective). It did. A tiny fraction of the bugs migrated to the new > system but most were mass exterminated with > > The TT TT was not a public database. It existed internally only. When we > switched to a public bugtracker, we could only export some entries since many > had confidential customer information. Those that were exported had to be > review by a person to make sure we were not violation any NDAs or > confidentiality. > > That's the same reason why the code repository starts with Qt 4.5, not earlier > versions. > > > "The version this bug is reported against is no longer supported..." > > The Nokia bug tracker was never going to just disappear (from our > perspective). It did. Few, if any of the older bugs made it into the > current database. Most were mass exterminated with > > There was no Nokia database. We switched straight from the internal tdb > (that's what it was called) to JIRA. > > There was a Nokia bug base as well, at least for a while. I and others > entered bugs into it back in the day. Your argument also re-enforces a > great many bugs "simply disappeared." > > I hear from quite a few companies in similar boats. They started > development for a medical/industrial device which had a lengthy > testing/approval process, filed bug reports for that version only to see > them rot or fall victim to a mass extermination. > > Most open source projects don't support old versions, since they don't have > the manpower to do so. > > > The current owners of Qt and the current OpenSource maintainers don't > offer or seem to understand the concept of an LTS (Long Term Support) > version. They are constantly pursuing script kiddies and that worthless > QML instead of maintaining the base which built them. This will soon > force a fork in the OpenSource project. One which rips out all of the > QML and focuses on nothing but bug fixes for 12 years. Yes, 12 years. > > Again, offence taken. > > Take all of the offense you want. Medical devices and industrial controls > need LTS versions, not resource hogging QML features. Qt's chasing of the > idiot phone market which has 6 months at best life spans is alienating and > chasing away the very industries which made Qt successful. > > > I don't know who plans on forking. There's no such division in the community, > so any attempt to do so will probably start with very few developers. Almost > certainly, fewer than critical mass to maintain the codebase. > > See TQt (Trinity Project) for an example of a fork attempt. > > It's easy to fork something you have been maintaining internally for > years. There _IS_ such a division. You don't know about it because they > don't come here. They justifiably believe they've been abandoned. The > relentless pursuit of "new cool features" to please the phone crowd is > causing the much larger medical device and industrial control industries to > create their own LTS. > > How many questions have you seen on here over the past 18 months about Qt > 3? That project Harmman (sp?) calls about periodically sells north of a > million units per year and the company is maintaining Qt 3 on its own so > they can make minor product enhancements which don't have to go though > multi-year clinical trials. They aren't the only calls I get about products > using Qt 3, 4.2, and the most likely soon to be orphaned (if not already) > 4.8. Every company I am contacted about using earlier versions has their > own staff maintaining the code base today. They have had no other choice. > If anything, joining forces with someone who is not a competitor but using > the same tool set will lighten their load. > > -- > Roland Hughes, President > Logikal Solutions > (630)-205-1593 > http://www.theminimumyouneedtoknow.comhttp://www.infiniteexposure.nethttp://www.johnsmith-book.comhttp://www.logikalblog.comhttp://www.interestingauthors.com/bloghttp://lesedi.us/http://onedollarcontentstore.com > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > -- Best regards, Vlad -------------- next part -------------- An HTML attachment was scrubbed... URL: From roland at logikalsolutions.com Thu Oct 19 14:43:09 2017 From: roland at logikalsolutions.com (Roland Hughes) Date: Thu, 19 Oct 2017 07:43:09 -0500 Subject: [Interest] Interest Digest Wiki instructions for PI cross compile do not work for PostgreSQL support In-Reply-To: References: <91317583-a01c-c518-60eb-9d9fb8fc9964@logikalsolutions.com> Message-ID: <2fc0507d-5788-3544-7189-f95a33fb7912@logikalsolutions.com> Scroll down and watch the video. QML is an 800 lb gorilla trying to ride in a 2 cylinder car. http://www.logikalsolutions.com/wordpress/information-technology/raspberry-qt-part-12-qml-blows-big-stinky-chunks/ Nasty worthless resource pig which exists only to pursue script kiddies. On 10/19/2017 04:38 AM, Vlad Stelmahovsky wrote: > QML is not that resource hogging as JS. dont use JS and you'll be fine > > On Tue, Oct 17, 2017 at 8:11 PM, Roland Hughes > > wrote: > > > > On 10/17/2017 12:54 PM, interest-request at qt-project.org > wrote: >> On ter?a-feira, 17 de outubro de 2017 08:11:13 PDT Roland Hughes >> wrote: >>>> The bug tracking system is under our control - it will not just >>>> disappear (from our perspective). >>> Oh yes it will! >>> >>> Speaking as someone who has heard that soooooo many times before, let's >>> just count a few for Qt shall we. >>> >>> The Trolltech bug database was never going to just disappear (from our >>> perspective). It did. A tiny fraction of the bugs migrated to the new >>> system but most were mass exterminated with >> The TT TT was not a public database. It existed internally only. When we >> switched to a public bugtracker, we could only export some entries since many >> had confidential customer information. Those that were exported had to be >> review by a person to make sure we were not violation any NDAs or >> confidentiality. >> >> That's the same reason why the code repository starts with Qt 4.5, not earlier >> versions. >> >>> "The version this bug is reported against is no longer supported..." >>> >>> The Nokia bug tracker was never going to just disappear (from our >>> perspective). It did. Few, if any of the older bugs made it into the >>> current database. Most were mass exterminated with >> There was no Nokia database. We switched straight from the internal tdb >> (that's what it was called) to JIRA. > There was a Nokia bug base as well, at least for a while. I and > others entered bugs into it back in the day. Your argument also > re-enforces a great many bugs "simply disappeared." >>> I hear from quite a few companies in similar boats. They started >>> development for a medical/industrial device which had a lengthy >>> testing/approval process, filed bug reports for that version only to see >>> them rot or fall victim to a mass extermination. >> Most open source projects don't support old versions, since they don't have >> the manpower to do so. >> >>> The current owners of Qt and the current OpenSource maintainers don't >>> offer or seem to understand the concept of an LTS (Long Term Support) >>> version. They are constantly pursuing script kiddies and that worthless >>> QML instead of maintaining the base which built them. This will soon >>> force a fork in the OpenSource project. One which rips out all of the >>> QML and focuses on nothing but bug fixes for 12 years. Yes, 12 years. >> Again, offence taken. > Take all of the offense you want. Medical devices and industrial > controls need LTS versions, not resource hogging QML features. > Qt's chasing of the idiot phone market which has 6 months at best > life spans is alienating and chasing away the very industries > which made Qt successful. >> I don't know who plans on forking. There's no such division in the community, >> so any attempt to do so will probably start with very few developers. Almost >> certainly, fewer than critical mass to maintain the codebase. >> >> See TQt (Trinity Project) for an example of a fork attempt. > It's easy to fork something you have been maintaining internally > for years. There _IS_ such a division. You don't know about it > because they don't come here. They justifiably believe they've > been abandoned. The relentless pursuit of "new cool features" to > please the phone crowd is causing the much larger medical device > and industrial control industries to create their own LTS. > > How many questions have you seen on here over the past 18 months > about Qt 3? That project Harmman (sp?) calls about periodically > sells north of a million units per year and the company is > maintaining Qt 3 on its own so they can make minor product > enhancements which don't have to go though multi-year clinical > trials. They aren't the only calls I get about products using Qt > 3, 4.2, and the most likely soon to be orphaned (if not already) > 4.8. Every company I am contacted about using earlier versions has > their own staff maintaining the code base today. They have had no > other choice. If anything, joining forces with someone who is not > a competitor but using the same tool set will lighten their load. > > -- > Roland Hughes, President > Logikal Solutions > (630)-205-1593 > > http://www.theminimumyouneedtoknow.com > > http://www.infiniteexposure.net > http://www.johnsmith-book.com > http://www.logikalblog.com > http://www.interestingauthors.com/blog > > http://lesedi.us/ > http://onedollarcontentstore.com > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > > > > > -- > Best regards, > Vlad -- Roland Hughes, President Logikal Solutions (630)-205-1593 http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.johnsmith-book.com http://www.logikalblog.com http://www.interestingauthors.com/blog http://lesedi.us/ http://onedollarcontentstore.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From laszlo.agocs at qt.io Thu Oct 19 14:57:21 2017 From: laszlo.agocs at qt.io (Laszlo Agocs) Date: Thu, 19 Oct 2017 12:57:21 +0000 Subject: [Interest] Interest Digest Wiki instructions for PI cross compile do not work for PostgreSQL support In-Reply-To: <2fc0507d-5788-3544-7189-f95a33fb7912@logikalsolutions.com> References: <91317583-a01c-c518-60eb-9d9fb8fc9964@logikalsolutions.com> <2fc0507d-5788-3544-7189-f95a33fb7912@logikalsolutions.com> Message-ID: Perhaps because it could be running with a pure software OpenGL implementation (Mesa llvmpipe) which Raspbian and friends tend to use to provide OpenGL on X11. (at least until VC4 becomes the default; in the meantime acceleration is limited to when running directly on Dispmanx, hence our general recommendation of using eglfs on embedded boards in order to cut out the potentially problematic middle layers) If that’s the case, then the performance issues showcased here have nothing to with QML, Qt Quick or anything Qt really. Run with QSG_INFO=1 to verify. Cheers, Laszlo From: Interest [mailto:interest-bounces+laszlo.agocs=qt.io at qt-project.org] On Behalf Of Roland Hughes Sent: torsdag 19. oktober 2017 14.43 To: Vlad Stelmahovsky Cc: interest Subject: Re: [Interest] Interest Digest Wiki instructions for PI cross compile do not work for PostgreSQL support Scroll down and watch the video. QML is an 800 lb gorilla trying to ride in a 2 cylinder car. http://www.logikalsolutions.com/wordpress/information-technology/raspberry-qt-part-12-qml-blows-big-stinky-chunks/ Nasty worthless resource pig which exists only to pursue script kiddies. On 10/19/2017 04:38 AM, Vlad Stelmahovsky wrote: QML is not that resource hogging as JS. dont use JS and you'll be fine On Tue, Oct 17, 2017 at 8:11 PM, Roland Hughes > wrote: On 10/17/2017 12:54 PM, interest-request at qt-project.org wrote: On ter?a-feira, 17 de outubro de 2017 08:11:13 PDT Roland Hughes wrote: The bug tracking system is under our control - it will not just disappear (from our perspective). Oh yes it will! Speaking as someone who has heard that soooooo many times before, let's just count a few for Qt shall we. The Trolltech bug database was never going to just disappear (from our perspective). It did. A tiny fraction of the bugs migrated to the new system but most were mass exterminated with The TT TT was not a public database. It existed internally only. When we switched to a public bugtracker, we could only export some entries since many had confidential customer information. Those that were exported had to be review by a person to make sure we were not violation any NDAs or confidentiality. That's the same reason why the code repository starts with Qt 4.5, not earlier versions. "The version this bug is reported against is no longer supported..." The Nokia bug tracker was never going to just disappear (from our perspective). It did. Few, if any of the older bugs made it into the current database. Most were mass exterminated with There was no Nokia database. We switched straight from the internal tdb (that's what it was called) to JIRA. There was a Nokia bug base as well, at least for a while. I and others entered bugs into it back in the day. Your argument also re-enforces a great many bugs "simply disappeared." I hear from quite a few companies in similar boats. They started development for a medical/industrial device which had a lengthy testing/approval process, filed bug reports for that version only to see them rot or fall victim to a mass extermination. Most open source projects don't support old versions, since they don't have the manpower to do so. The current owners of Qt and the current OpenSource maintainers don't offer or seem to understand the concept of an LTS (Long Term Support) version. They are constantly pursuing script kiddies and that worthless QML instead of maintaining the base which built them. This will soon force a fork in the OpenSource project. One which rips out all of the QML and focuses on nothing but bug fixes for 12 years. Yes, 12 years. Again, offence taken. Take all of the offense you want. Medical devices and industrial controls need LTS versions, not resource hogging QML features. Qt's chasing of the idiot phone market which has 6 months at best life spans is alienating and chasing away the very industries which made Qt successful. I don't know who plans on forking. There's no such division in the community, so any attempt to do so will probably start with very few developers. Almost certainly, fewer than critical mass to maintain the codebase. See TQt (Trinity Project) for an example of a fork attempt. It's easy to fork something you have been maintaining internally for years. There _IS_ such a division. You don't know about it because they don't come here. They justifiably believe they've been abandoned. The relentless pursuit of "new cool features" to please the phone crowd is causing the much larger medical device and industrial control industries to create their own LTS. How many questions have you seen on here over the past 18 months about Qt 3? That project Harmman (sp?) calls about periodically sells north of a million units per year and the company is maintaining Qt 3 on its own so they can make minor product enhancements which don't have to go though multi-year clinical trials. They aren't the only calls I get about products using Qt 3, 4.2, and the most likely soon to be orphaned (if not already) 4.8. Every company I am contacted about using earlier versions has their own staff maintaining the code base today. They have had no other choice. If anything, joining forces with someone who is not a competitor but using the same tool set will lighten their load. -- Roland Hughes, President Logikal Solutions (630)-205-1593 http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.johnsmith-book.com http://www.logikalblog.com http://www.interestingauthors.com/blog http://lesedi.us/ http://onedollarcontentstore.com _______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest -- Best regards, Vlad -- Roland Hughes, President Logikal Solutions (630)-205-1593 http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.johnsmith-book.com http://www.logikalblog.com http://www.interestingauthors.com/blog http://lesedi.us/ http://onedollarcontentstore.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From roland at logikalsolutions.com Thu Oct 19 15:06:26 2017 From: roland at logikalsolutions.com (Roland Hughes) Date: Thu, 19 Oct 2017 08:06:26 -0500 Subject: [Interest] Interest Digest Wiki instructions for PI cross compile do not work for PostgreSQL support In-Reply-To: References: <91317583-a01c-c518-60eb-9d9fb8fc9964@logikalsolutions.com> <2fc0507d-5788-3544-7189-f95a33fb7912@logikalsolutions.com> Message-ID: <09e8a238-5a14-e354-889f-afe39f11c14d@logikalsolutions.com> Laszlo, 1) It's QML. Massive stinky pig which is __ALWAYS__ the wrong choice for any project. 2) EGLFS is how we got here. The Wiki instructions are pure excrement for anything more complex than "Hello World." But that's fine because the bug report for the Wiki instructions has been "Resolved" without any action taken. It sits out there spawning countless other Wiki and blog posts all based on broken instructions. https://www.youtube.com/watch?v=MAfCQ-t7xY0 On 10/19/2017 07:57 AM, Laszlo Agocs wrote: > > Perhaps because it could be running with a pure software OpenGL > implementation (Mesa llvmpipe) which Raspbian and friends tend to use > to provide OpenGL on X11. (at least until VC4 becomes the default; in > the meantime acceleration is limited to when running directly on > Dispmanx, hence our general recommendation of using eglfs on embedded > boards in order to cut out the potentially problematic middle layers) > > If that’s the case, then the performance issues showcased here have > nothing to with QML, Qt Quick or anything Qt really. Run with > QSG_INFO=1 to verify. > > Cheers, > > Laszlo > > *From:*Interest > [mailto:interest-bounces+laszlo.agocs=qt.io at qt-project.org] *On Behalf > Of *Roland Hughes > *Sent:* torsdag 19. oktober 2017 14.43 > *To:* Vlad Stelmahovsky > *Cc:* interest > *Subject:* Re: [Interest] Interest Digest Wiki instructions for PI > cross compile do not work for PostgreSQL support > > Scroll down and watch the video. QML is an 800 lb gorilla trying to > ride in a 2 cylinder car. > > http://www.logikalsolutions.com/wordpress/information-technology/raspberry-qt-part-12-qml-blows-big-stinky-chunks/ > > Nasty worthless resource pig which exists only to pursue script kiddies. > > On 10/19/2017 04:38 AM, Vlad Stelmahovsky wrote: > > QML is not that resource hogging as JS. dont use JS and you'll be fine > > On Tue, Oct 17, 2017 at 8:11 PM, Roland Hughes > > > wrote: > > On 10/17/2017 12:54 PM, interest-request at qt-project.org > wrote: > > On ter?a-feira, 17 de outubro de 2017 08:11:13 PDT Roland Hughes wrote: > > The bug tracking system is under our control - it will not just > > disappear (from our perspective). > > Oh yes it will! > > Speaking as someone who has heard that soooooo many times before, let's > > just count a few for Qt shall we. > > The Trolltech bug database was never going to just disappear (from our > > perspective). It did. A tiny fraction of the bugs migrated to the new > > system but most were mass exterminated with > > The TT TT was not a public database. It existed internally only. When we > > switched to a public bugtracker, we could only export some entries since many > > had confidential customer information. Those that were exported had to be > > review by a person to make sure we were not violation any NDAs or > > confidentiality. > > That's the same reason why the code repository starts with Qt 4.5, not earlier > > versions. > > "The version this bug is reported against is no longer supported..." > > The Nokia bug tracker was never going to just disappear (from our > > perspective). It did. Few, if any of the older bugs made it into the > > current database. Most were mass exterminated with > > There was no Nokia database. We switched straight from the internal tdb > > (that's what it was called) to JIRA. > > There was a Nokia bug base as well, at least for a while. I > and others entered bugs into it back in the day. Your argument > also re-enforces a great many bugs "simply disappeared." > > I hear from quite a few companies in similar boats. They started > > development for a medical/industrial device which had a lengthy > > testing/approval process, filed bug reports for that version only to see > > them rot or fall victim to a mass extermination. > > Most open source projects don't support old versions, since they don't have > > the manpower to do so. > > The current owners of Qt and the current OpenSource maintainers don't > > offer or seem to understand the concept of an LTS (Long Term Support) > > version. They are constantly pursuing script kiddies and that worthless > > QML instead of maintaining the base which built them. This will soon > > force a fork in the OpenSource project. One which rips out all of the > > QML and focuses on nothing but bug fixes for 12 years. Yes, 12 years. > > Again, offence taken. > > Take all of the offense you want. Medical devices and > industrial controls need LTS versions, not resource hogging > QML features. Qt's chasing of the idiot phone market which has > 6 months at best life spans is alienating and chasing away the > very industries which made Qt successful. > > I don't know who plans on forking. There's no such division in the community, > > so any attempt to do so will probably start with very few developers. Almost > > certainly, fewer than critical mass to maintain the codebase. > > See TQt (Trinity Project) for an example of a fork attempt. > > It's easy to fork something you have been maintaining > internally for years. There _IS_ such a division. You don't > know about it because they don't come here. They justifiably > believe they've been abandoned. The relentless pursuit of "new > cool features" to please the phone crowd is causing the much > larger medical device and industrial control industries to > create their own LTS. > > How many questions have you seen on here over the past 18 > months about Qt 3? That project Harmman (sp?) calls about > periodically sells north of a million units per year and the > company is maintaining Qt 3 on its own so they can make minor > product enhancements which don't have to go though multi-year > clinical trials. They aren't the only calls I get about > products using Qt 3, 4.2, and the most likely soon to be > orphaned (if not already) 4.8. Every company I am contacted > about using earlier versions has their own staff maintaining > the code base today. They have had no other choice. If > anything, joining forces with someone who is not a competitor > but using the same tool set will lighten their load. > > -- > > Roland Hughes, President > > Logikal Solutions > > (630)-205-1593 > > http://www.theminimumyouneedtoknow.com > > http://www.infiniteexposure.net > > http://www.johnsmith-book.com > > http://www.logikalblog.com > > http://www.interestingauthors.com/blog > > http://lesedi.us/ > > http://onedollarcontentstore.com > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > > > -- > > Best regards, > > Vlad > > > > -- > Roland Hughes, President > Logikal Solutions > (630)-205-1593 > http://www.theminimumyouneedtoknow.com > http://www.infiniteexposure.net > http://www.johnsmith-book.com > http://www.logikalblog.com > http://www.interestingauthors.com/blog > http://lesedi.us/ > http://onedollarcontentstore.com -- Roland Hughes, President Logikal Solutions (630)-205-1593 http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.johnsmith-book.com http://www.logikalblog.com http://www.interestingauthors.com/blog http://lesedi.us/ http://onedollarcontentstore.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From jhihn at gmx.com Thu Oct 19 15:44:24 2017 From: jhihn at gmx.com (Jason H) Date: Thu, 19 Oct 2017 15:44:24 +0200 Subject: [Interest] [Qt3D] Mixing C++ and QML In-Reply-To: References: Message-ID: > I am looking for a way to manage an Entity tree in C++ and the Scene configuration in QML. My C++ code manage entities from a root node and I want to move the Frame graph and camera management,... to qml. > I can't figure out how to do that because if create a class that derive from QEntity some properties of Entity aren't declared like "components". >  > My goal is to have an object hierarchy made with QEntity in c++ and dynamic views on it made in QML. Scene views should be dockable,...   This is well-documented. QEntity inherits from QObject so you are good. I'm not sure what you mean by "like components". Public properties, signals and slots are visible to QML. If not it's a simple matter of wrapping them in a public one. http://doc.qt.io/qt-5/qtqml-cppintegration-topic.html From annulen at yandex.ru Thu Oct 19 15:49:15 2017 From: annulen at yandex.ru (Konstantin Tokarev) Date: Thu, 19 Oct 2017 16:49:15 +0300 Subject: [Interest] Interest Digest Wiki instructions for PI cross compile do not work for PostgreSQL support In-Reply-To: <09e8a238-5a14-e354-889f-afe39f11c14d@logikalsolutions.com> References: <91317583-a01c-c518-60eb-9d9fb8fc9964@logikalsolutions.com> <2fc0507d-5788-3544-7189-f95a33fb7912@logikalsolutions.com> <09e8a238-5a14-e354-889f-afe39f11c14d@logikalsolutions.com> Message-ID: <311051508420955@web4g.yandex.ru> 19.10.2017, 16:11, "Roland Hughes" : > Laszlo, > > 1) It's QML. Massive stinky pig which is __ALWAYS__ the wrong choice for any project. I'd like to point out that whining is __ALWAYS__ a wrong approach for communications on technical mailing list. > > 2) EGLFS is how we got here. The Wiki instructions are pure excrement for anything more complex than "Hello World." > > But that's fine because the bug report for the Wiki instructions has been "Resolved" without any action taken. It sits out there spawning countless other Wiki and blog posts all based on broken instructions. > > https://www.youtube.com/watch?v=MAfCQ-t7xY0 > > On 10/19/2017 07:57 AM, Laszlo Agocs wrote: >> Perhaps because it could be running with a pure software OpenGL implementation (Mesa llvmpipe) which Raspbian and friends tend to use to provide OpenGL on X11. (at least until VC4 becomes the default; in the meantime acceleration is limited to when running directly on Dispmanx, hence our general recommendation of using eglfs on embedded boards in order to cut out the potentially problematic middle layers) >> >> If that’s the case, then the performance issues showcased here have nothing to with QML, Qt Quick or anything Qt really. Run with QSG_INFO=1 to verify. >> >> Cheers, >> >> Laszlo >> >> From: Interest [mailto:interest-bounces+laszlo.agocs=qt.io at qt-project.org] On Behalf Of Roland Hughes >> Sent: torsdag 19. oktober 2017 14.43 >> To: Vlad Stelmahovsky >> Cc: interest >> Subject: Re: [Interest] Interest Digest Wiki instructions for PI cross compile do not work for PostgreSQL support >> >> Scroll down and watch the video. QML is an 800 lb gorilla trying to ride in a 2 cylinder car. >> >> http://www.logikalsolutions.com/wordpress/information-technology/raspberry-qt-part-12-qml-blows-big-stinky-chunks/ >> >> Nasty worthless resource pig which exists only to pursue script kiddies. >> >> On 10/19/2017 04:38 AM, Vlad Stelmahovsky wrote: >>> QML is not that resource hogging as JS. dont use JS and you'll be fine >>> >>> On Tue, Oct 17, 2017 at 8:11 PM, Roland Hughes wrote: >>>> On 10/17/2017 12:54 PM, interest-request at qt-project.org wrote: >>>>> On ter?a-feira, 17 de outubro de 2017 08:11:13 PDT Roland Hughes wrote: >>>>>>> The bug tracking system is under our control - it will not just >>>>>>> >>>>>>> disappear (from our perspective). >>>>>> >>>>>> Oh yes it will! >>>>>> >>>>>> Speaking as someone who has heard that soooooo many times before, let's >>>>>> >>>>>> just count a few for Qt shall we. >>>>>> >>>>>> The Trolltech bug database was never going to just disappear (from our >>>>>> >>>>>> perspective). It did. A tiny fraction of the bugs migrated to the new >>>>>> >>>>>> system but most were mass exterminated with >>>>> >>>>> The TT TT was not a public database. It existed internally only. When we >>>>> >>>>> switched to a public bugtracker, we could only export some entries since many >>>>> >>>>> had confidential customer information. Those that were exported had to be >>>>> >>>>> review by a person to make sure we were not violation any NDAs or >>>>> >>>>> confidentiality. >>>>> >>>>> That's the same reason why the code repository starts with Qt 4.5, not earlier >>>>> >>>>> versions. >>>>>> "The version this bug is reported against is no longer supported..." >>>>>> >>>>>> The Nokia bug tracker was never going to just disappear (from our >>>>>> >>>>>> perspective). It did. Few, if any of the older bugs made it into the >>>>>> >>>>>> current database. Most were mass exterminated with >>>>> >>>>> There was no Nokia database. We switched straight from the internal tdb >>>>> >>>>> (that's what it was called) to JIRA. >>>> >>>> There was a Nokia bug base as well, at least for a while. I and others entered bugs into it back in the day. Your argument also re-enforces a great many bugs "simply disappeared." >>>> >>>>>> I hear from quite a few companies in similar boats. They started >>>>>> >>>>>> development for a medical/industrial device which had a lengthy >>>>>> >>>>>> testing/approval process, filed bug reports for that version only to see >>>>>> >>>>>> them rot or fall victim to a mass extermination. >>>>> >>>>> Most open source projects don't support old versions, since they don't have >>>>> >>>>> the manpower to do so. >>>>> >>>>>> The current owners of Qt and the current OpenSource maintainers don't >>>>>> >>>>>> offer or seem to understand the concept of an LTS (Long Term Support) >>>>>> >>>>>> version. They are constantly pursuing script kiddies and that worthless >>>>>> >>>>>> QML instead of maintaining the base which built them. This will soon >>>>>> >>>>>> force a fork in the OpenSource project. One which rips out all of the >>>>>> >>>>>> QML and focuses on nothing but bug fixes for 12 years. Yes, 12 years. >>>>> >>>>> Again, offence taken. >>>> >>>> Take all of the offense you want. Medical devices and industrial controls need LTS versions, not resource hogging QML features. Qt's chasing of the idiot phone market which has 6 months at best life spans is alienating and chasing away the very industries which made Qt successful. >>>> >>>>> I don't know who plans on forking. There's no such division in the community, >>>>> >>>>> so any attempt to do so will probably start with very few developers. Almost >>>>> >>>>> certainly, fewer than critical mass to maintain the codebase. >>>>> >>>>> See TQt (Trinity Project) for an example of a fork attempt. >>>> >>>> It's easy to fork something you have been maintaining internally for years. There _IS_ such a division. You don't know about it because they don't come here. They justifiably believe they've been abandoned. The relentless pursuit of "new cool features" to please the phone crowd is causing the much larger medical device and industrial control industries to create their own LTS. >>>> >>>> How many questions have you seen on here over the past 18 months about Qt 3? That project Harmman (sp?) calls about periodically sells north of a million units per year and the company is maintaining Qt 3 on its own so they can make minor product enhancements which don't have to go though multi-year clinical trials. They aren't the only calls I get about products using Qt 3, 4.2, and the most likely soon to be orphaned (if not already) 4.8. Every company I am contacted about using earlier versions has their own staff maintaining the code base today. They have had no other choice. If anything, joining forces with someone who is not a competitor but using the same tool set will lighten their load. >>>> >>>> -- >>>> >>>> Roland Hughes, President >>>> >>>> Logikal Solutions >>>> >>>> (630)-205-1593 >>>> >>>> http://www.theminimumyouneedtoknow.com >>>> >>>> http://www.infiniteexposure.net >>>> >>>> http://www.johnsmith-book.com >>>> >>>> http://www.logikalblog.com >>>> >>>> http://www.interestingauthors.com/blog >>>> >>>> http://lesedi.us/ >>>> >>>> http://onedollarcontentstore.com >>>> >>>> _______________________________________________ >>>> Interest mailing list >>>> Interest at qt-project.org >>>> http://lists.qt-project.org/mailman/listinfo/interest >>> >>> -- >>> >>> Best regards, >>> >>> Vlad >> >> -- >> >> Roland Hughes, President >> >> Logikal Solutions >> >> (630)-205-1593 >> >> http://www.theminimumyouneedtoknow.com >> >> http://www.infiniteexposure.net >> >> http://www.johnsmith-book.com >> >> http://www.logikalblog.com >> >> http://www.interestingauthors.com/blog >> >> http://lesedi.us/ >> >> http://onedollarcontentstore.com > > -- Roland Hughes, President Logikal Solutions (630)-205-1593 http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.johnsmith-book.com http://www.logikalblog.com http://www.interestingauthors.com/blog http://lesedi.us/ http://onedollarcontentstore.com > , > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest --  Regards, Konstantin From iamsergio at gmail.com Thu Oct 19 15:51:26 2017 From: iamsergio at gmail.com (=?UTF-8?Q?S=C3=A9rgio_Martins?=) Date: Thu, 19 Oct 2017 14:51:26 +0100 Subject: [Interest] Interest Digest Wiki instructions for PI cross compile do not work for PostgreSQL support In-Reply-To: <2fc0507d-5788-3544-7189-f95a33fb7912@logikalsolutions.com> References: <91317583-a01c-c518-60eb-9d9fb8fc9964@logikalsolutions.com> <2fc0507d-5788-3544-7189-f95a33fb7912@logikalsolutions.com> Message-ID: On Thu, Oct 19, 2017 at 1:43 PM, Roland Hughes wrote: > Scroll down and watch the video. QML is an 800 lb gorilla trying to ride in > a 2 cylinder car. > > http://www.logikalsolutions.com/wordpress/information-technology/raspberry-qt-part-12-qml-blows-big-stinky-chunks/ > > Nasty worthless resource pig which exists only to pursue script kiddies. Hi Roland, If you don't like QML why are you obsessed with it ? Spending all this energy writing blogs and recording videos. I don't like Electron, so what I do is ignore it exists and not go on their mailing lists offending their software. Regards, Sérgio M. From Uwe.Rathmann at tigertal.de Thu Oct 19 16:09:16 2017 From: Uwe.Rathmann at tigertal.de (Uwe Rathmann) Date: Thu, 19 Oct 2017 14:09:16 +0000 (UTC) Subject: [Interest] Interest Digest Wiki instructions for PI cross compile do not work for PostgreSQL support References: <91317583-a01c-c518-60eb-9d9fb8fc9964@logikalsolutions.com> <2fc0507d-5788-3544-7189-f95a33fb7912@logikalsolutions.com> <09e8a238-5a14-e354-889f-afe39f11c14d@logikalsolutions.com> Message-ID: On Thu, 19 Oct 2017 08:06:26 -0500, Roland Hughes wrote: > 1) It's QML ... In case you prefer using the Qt/Quick graphic stack without QML you might be interested in what I'm working on: https://github.com/uwerat/qskinny. In fact the heaviness of Qt/Quick is not only QML related and I had/have to reimplement almost everything of the Qt/Quick C++ layer - beside of the scene graph and QQuickItem/QQuickWindow. The project is far from being complete, documentation has not been done and the quality of the examples is pretty poor. But I hope I will have something in a few months, that is good enough to show its potential and I can decide if there is enough interest to continue. Uwe PS: the project is driven by a commercial application and on github you can see only the subset I'm allowed to release. We have reached an initial version ( about ~50 different pages full of content ) and the startup time feels like 'ls' in the terminal. ( the previous generation of the product - less pages, but with QML - needs seconds ). From roland at logikalsolutions.com Thu Oct 19 16:42:54 2017 From: roland at logikalsolutions.com (Roland Hughes) Date: Thu, 19 Oct 2017 09:42:54 -0500 Subject: [Interest] Interest Digest Wiki instructions for PI cross compile do not work for PostgreSQL support In-Reply-To: References: <91317583-a01c-c518-60eb-9d9fb8fc9964@logikalsolutions.com> <2fc0507d-5788-3544-7189-f95a33fb7912@logikalsolutions.com> Message-ID: Because I'm the one who gets called in to sweep up the train wreck. I work in the medical and industrial device world where QML is __NEVER__ a good choice, let alone a correct choice, but, script kiddies are cheap. When you are called in to sweep it up, the client never wants to hear they have to throw out 90% of a project which is already late and not meeting any of the design targets, they just want a "quick fix" which doesn't exist. It's amazing really. I see the same project moving from pimp to pimp to pimp for north of 6 months and most of them end up calling me so I don't even have to see the project moving. Had they thrown everything out and started with a pure C++/Qt widget solution they would already have been done. Still, they keep searching for a "quick fix." On 10/19/2017 08:51 AM, Sérgio Martins wrote: > On Thu, Oct 19, 2017 at 1:43 PM, Roland Hughes > wrote: >> Scroll down and watch the video. QML is an 800 lb gorilla trying to ride in >> a 2 cylinder car. >> >> http://www.logikalsolutions.com/wordpress/information-technology/raspberry-qt-part-12-qml-blows-big-stinky-chunks/ >> >> Nasty worthless resource pig which exists only to pursue script kiddies. > Hi Roland, > > If you don't like QML why are you obsessed with it ? Spending all this > energy writing blogs and recording videos. > > I don't like Electron, so what I do is ignore it exists and not go on > their mailing lists offending their software. > > > Regards, > Sérgio M. -- Roland Hughes, President Logikal Solutions (630)-205-1593 http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.johnsmith-book.com http://www.logikalblog.com http://www.interestingauthors.com/blog http://lesedi.us/ http://onedollarcontentstore.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From flamaros.xavier at gmail.com Thu Oct 19 17:40:33 2017 From: flamaros.xavier at gmail.com (Xavier Bigand) Date: Thu, 19 Oct 2017 17:40:33 +0200 Subject: [Interest] [Qt3D] Mixing C++ and QML In-Reply-To: References: Message-ID: The issue is that QEntity doesn't reflect directly the qml type Entity, this is the same for many Qt3D classes. Here is the declaration of QEntity from qentity.h class QT3DCORESHARED_EXPORT QEntity : public QNode { Q_OBJECT public: explicit QEntity(QNode *parent = nullptr); virtual ~QEntity(); QComponentVector components() const; void addComponent(QComponent *comp); void removeComponent(QComponent *comp); QEntity *parentEntity() const; protected: explicit QEntity(QEntityPrivate &dd, QNode *parent = nullptr); private: Q_DECLARE_PRIVATE(QEntity) QNodeCreatedChangeBasePtr createNodeCreationChange() const Q_DECL_OVERRIDE; }; As you can see the method addComponent is not virtual and exported as Q_PROPERTY, so when creating a derived class of QEntity when instanced in qml it doesn't inherited of Entity properties. 2017-10-19 15:44 GMT+02:00 Jason H : > > I am looking for a way to manage an Entity tree in C++ and the Scene > configuration in QML. My C++ code manage entities from a root node and I > want to move the Frame graph and camera management,... to qml. > > I can't figure out how to do that because if create a class that derive > from QEntity some properties of Entity aren't declared like "components". > > > > My goal is to have an object hierarchy made with QEntity in c++ and > dynamic views on it made in QML. Scene views should be dockable,... > > > This is well-documented. QEntity inherits from QObject so you are good. > I'm not sure what you mean by "like components". Public properties, signals > and slots are visible to QML. If not it's a simple matter of wrapping them > in a public one. > > http://doc.qt.io/qt-5/qtqml-cppintegration-topic.html > > > > -- Xavier -------------- next part -------------- An HTML attachment was scrubbed... URL: From jerome at bodycad.com Thu Oct 19 17:59:39 2017 From: jerome at bodycad.com (=?UTF-8?B?SsOpcsO0bWUgR29kYm91dA==?=) Date: Thu, 19 Oct 2017 11:59:39 -0400 Subject: [Interest] [Qt3D] Mixing C++ and QML In-Reply-To: References: Message-ID: You can create your own MyQmlEntity class and expose a method that call it: class MyQMlEntity : public QEntity { Q_OBJECT Q_PROPERTY(VariantList components READ get_components WRITE set_components NOTIFY componentsChanged) Q_INVOKABLE void add(QObject* obj) { addComponent(dynamic_cast(obj); } Q_INVOKABLE void remove(QObject* obj) { removeComponent(dynamic_cast(obj)); } }; you can then read and write data into the underlaying QEntity (this is far from optimal code, just quick example). You may have to wrap the QComponent too. you could also make it easier to expose the components list from QComponentVector to something Qml can handle. [image: bodycad] Jerome Godbout Software Developer 2035 rue du Haut-Bord, Québec, QC, Canada. G1N 4R7 T: +1 418 527-1388 E: jerome at bodycad.com www.bodycad.com The contents of this email message and any attachments are intended solely for the addressee(s) and may contain confidential and/or privileged information and may be legally protected from disclosure. If you are not the intended recipient of this message or their agent, or if this message has been addressed to you in error, please immediately alert the sender by reply email and then delete this message and any attachments. If you are not the intended recipient, you are hereby notified that any use, dissemination, copying, or storage of this message or its attachments is strictly prohibited. Le contenu de ce message et les pièces jointes sont destinés uniquement pour le(s) destinataire(s) et peuvent contenir des informations confidentielles et / ou privilégiées qui peuvent être protégées légalement contre toute divulgation. Si vous n'êtes pas le destinataire de ce message ou son agent, ou si ce message vous a été adressé par erreur, s’il vous plaît avertir immédiatement l'expéditeur par courriel de réponse, puis supprimer ce message et les pièces jointes. Si vous n'êtes pas le destinataire prévu, vous êtes par la présente informé que toute utilisation, diffusion, copie, ou stockage de ce message ou de ses pièces jointes est strictement interdit. On Thu, Oct 19, 2017 at 11:40 AM, Xavier Bigand wrote: > The issue is that QEntity doesn't reflect directly the qml type Entity, > this is the same for many Qt3D classes. > > Here is the declaration of QEntity from qentity.h > > class QT3DCORESHARED_EXPORT QEntity : public QNode > > { > > Q_OBJECT > > public: > > explicit QEntity(QNode *parent = nullptr); > > virtual ~QEntity(); > > > QComponentVector components() const; > > > void addComponent(QComponent *comp); > > void removeComponent(QComponent *comp); > > > QEntity *parentEntity() const; > > > protected: > > explicit QEntity(QEntityPrivate &dd, QNode *parent = nullptr); > > > private: > > Q_DECLARE_PRIVATE(QEntity) > > > QNodeCreatedChangeBasePtr createNodeCreationChange() const Q_DECL_OVERRIDE; > > }; > > > > As you can see the method addComponent is not virtual and exported as Q_PROPERTY, so when creating a derived class of QEntity when instanced in qml it doesn't inherited of Entity properties. > > > > > 2017-10-19 15:44 GMT+02:00 Jason H : > >> > I am looking for a way to manage an Entity tree in C++ and the Scene >> configuration in QML. My C++ code manage entities from a root node and I >> want to move the Frame graph and camera management,... to qml. >> > I can't figure out how to do that because if create a class that derive >> from QEntity some properties of Entity aren't declared like "components". >> > >> > My goal is to have an object hierarchy made with QEntity in c++ and >> dynamic views on it made in QML. Scene views should be dockable,... >> >> >> This is well-documented. QEntity inherits from QObject so you are good. >> I'm not sure what you mean by "like components". Public properties, signals >> and slots are visible to QML. If not it's a simple matter of wrapping them >> in a public one. >> >> http://doc.qt.io/qt-5/qtqml-cppintegration-topic.html >> >> >> >> > > > -- > Xavier > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sean.harmer at kdab.com Thu Oct 19 18:06:51 2017 From: sean.harmer at kdab.com (Sean Harmer) Date: Thu, 19 Oct 2017 17:06:51 +0100 Subject: [Interest] [Qt3D] Mixing C++ and QML In-Reply-To: References: Message-ID: Hi, you've hit one of the issues we did with exposing C++ and QML APIs. Namely, QQmlListProperty. This thing should ideally never have existed and instead support for properties of collections should have been added to QObject and the metaobject system. To avoid pulling in a QtQml dependency in the C++ API, we instead have another layer to add the QML specifics (pretty much entirely list properties). In order to create these from code we have a factory. Try something like: QAbstractNodeFactory::createNode("QEntity") If using just C++ you will get a standard QEntity. If using QML (and the types are registered with the factory) you will get the QML -enhanced version with the extension object that handles the list properties. We use this for e.g. in the renderer's SkeletonLoader class to create QJoints for the frontend tree. Cheers, Sean On 19/10/2017 16:40, Xavier Bigand wrote: > The issue is that QEntity doesn't reflect directly the qml type Entity, > this is the same for many Qt3D classes. > > Here is the declaration of QEntity from qentity.h > > class QT3DCORESHARED_EXPORT QEntity : public QNode > > { > > Q_OBJECT > > public: > > explicit QEntity(QNode *parent = nullptr); > > virtual ~QEntity(); > > > QComponentVector components() const; > > > void addComponent(QComponent *comp); > > void removeComponent(QComponent *comp); > > > QEntity *parentEntity() const; > > > protected: > > explicit QEntity(QEntityPrivate &dd, QNode *parent = nullptr); > > > private: > > Q_DECLARE_PRIVATE(QEntity) > > > QNodeCreatedChangeBasePtr createNodeCreationChange() const Q_DECL_OVERRIDE; > > }; > > > > As you can see the method addComponent is not virtual and exported as Q_PROPERTY, so when creating a derived class of QEntity when instanced in qml it doesn't inherited of Entity properties. > > > > > 2017-10-19 15:44 GMT+02:00 Jason H >: > > > I am looking for a way to manage an Entity tree in C++ and the Scene configuration in QML. My C++ code manage entities from a root node and I want to move the Frame graph and camera management,... to qml. > > I can't figure out how to do that because if create a class that derive from QEntity some properties of Entity aren't declared like "components". > > > > My goal is to have an object hierarchy made with QEntity in c++ and dynamic views on it made in QML. Scene views should be dockable,... > > > This is well-documented. QEntity inherits from QObject so you are > good. I'm not sure what you mean by "like components". Public > properties, signals and slots are visible to QML. If not it's a > simple matter of wrapping them in a public one. > > http://doc.qt.io/qt-5/qtqml-cppintegration-topic.html > > > > > > > > -- > Xavier > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -- Dr Sean Harmer | sean.harmer at kdab.com | Managing Director UK KDAB (UK) Ltd, a KDAB Group company Tel. +44 (0)1625 809908; Sweden (HQ) +46-563-540090 Mobile: +44 (0)7545 140604 KDAB - Qt Experts From fpiechocki at gmail.com Thu Oct 19 21:04:42 2017 From: fpiechocki at gmail.com (Filip Piechocki) Date: Thu, 19 Oct 2017 21:04:42 +0200 Subject: [Interest] Interest Digest Wiki instructions for PI cross compile do not work for PostgreSQL support In-Reply-To: <2fc0507d-5788-3544-7189-f95a33fb7912@logikalsolutions.com> References: <91317583-a01c-c518-60eb-9d9fb8fc9964@logikalsolutions.com> <2fc0507d-5788-3544-7189-f95a33fb7912@logikalsolutions.com> Message-ID: On Thu, Oct 19, 2017 at 2:43 PM, Roland Hughes wrote: > Scroll down and watch the video. QML is an 800 lb gorilla trying to ride > in a 2 cylinder car. > > http://www.logikalsolutions.com/wordpress/information- > technology/raspberry-qt-part-12-qml-blows-big-stinky-chunks/ > Application used here is of course the best candidate for widgets implementation as it does not use QtQuick advantages. Do this: https://www.youtube.com/watch?v=wulbR2R1GpM in Qt Widgets and share your results. But please, do not mislead people. You run this app with software OpenGL on a device with really weak CPU. Xorg alone eats all resources of RPi 1 as it has no HW GPU acceleration. In my company we get 20-25 fps when rendering maps on a quite powerful (for embedded world) x86 and like 230% CPU usage (of 4 cores) as there is no linux driver for its GPU. Meanwhile - we get stable 60fps on i.MX6 DualLite (2 ARMv7 cores 792MHz) with 12-20% CPU usage. All done with QtQuick. > Nasty worthless resource pig which exists only to pursue script kiddies. > > On 10/19/2017 04:38 AM, Vlad Stelmahovsky wrote: > > QML is not that resource hogging as JS. dont use JS and you'll be fine > > On Tue, Oct 17, 2017 at 8:11 PM, Roland Hughes < > roland at logikalsolutions.com> wrote: > >> >> >> On 10/17/2017 12:54 PM, interest-request at qt-project.org wrote: >> >> On ter?a-feira, 17 de outubro de 2017 08:11:13 PDT Roland Hughes wrote: >> >> The bug tracking system is under our control - it will not just >> disappear (from our perspective). >> >> Oh yes it will! >> >> Speaking as someone who has heard that soooooo many times before, let's >> just count a few for Qt shall we. >> >> The Trolltech bug database was never going to just disappear (from our >> perspective). It did. A tiny fraction of the bugs migrated to the new >> system but most were mass exterminated with >> >> The TT TT was not a public database. It existed internally only. When we >> switched to a public bugtracker, we could only export some entries since many >> had confidential customer information. Those that were exported had to be >> review by a person to make sure we were not violation any NDAs or >> confidentiality. >> >> That's the same reason why the code repository starts with Qt 4.5, not earlier >> versions. >> >> >> "The version this bug is reported against is no longer supported..." >> >> The Nokia bug tracker was never going to just disappear (from our >> perspective). It did. Few, if any of the older bugs made it into the >> current database. Most were mass exterminated with >> >> There was no Nokia database. We switched straight from the internal tdb >> (that's what it was called) to JIRA. >> >> There was a Nokia bug base as well, at least for a while. I and others >> entered bugs into it back in the day. Your argument also re-enforces a >> great many bugs "simply disappeared." >> >> I hear from quite a few companies in similar boats. They started >> development for a medical/industrial device which had a lengthy >> testing/approval process, filed bug reports for that version only to see >> them rot or fall victim to a mass extermination. >> >> Most open source projects don't support old versions, since they don't have >> the manpower to do so. >> >> >> The current owners of Qt and the current OpenSource maintainers don't >> offer or seem to understand the concept of an LTS (Long Term Support) >> version. They are constantly pursuing script kiddies and that worthless >> QML instead of maintaining the base which built them. This will soon >> force a fork in the OpenSource project. One which rips out all of the >> QML and focuses on nothing but bug fixes for 12 years. Yes, 12 years. >> >> Again, offence taken. >> >> Take all of the offense you want. Medical devices and industrial controls >> need LTS versions, not resource hogging QML features. Qt's chasing of the >> idiot phone market which has 6 months at best life spans is alienating and >> chasing away the very industries which made Qt successful. >> >> I don't know who plans on forking. There's no such division in the community, >> so any attempt to do so will probably start with very few developers. Almost >> certainly, fewer than critical mass to maintain the codebase. >> >> See TQt (Trinity Project) for an example of a fork attempt. >> >> It's easy to fork something you have been maintaining internally for >> years. There _IS_ such a division. You don't know about it because they >> don't come here. They justifiably believe they've been abandoned. The >> relentless pursuit of "new cool features" to please the phone crowd is >> causing the much larger medical device and industrial control industries to >> create their own LTS. >> >> How many questions have you seen on here over the past 18 months about Qt >> 3? That project Harmman (sp?) calls about periodically sells north of a >> million units per year and the company is maintaining Qt 3 on its own so >> they can make minor product enhancements which don't have to go though >> multi-year clinical trials. They aren't the only calls I get about products >> using Qt 3, 4.2, and the most likely soon to be orphaned (if not already) >> 4.8. Every company I am contacted about using earlier versions has their >> own staff maintaining the code base today. They have had no other choice. >> If anything, joining forces with someone who is not a competitor but using >> the same tool set will lighten their load. >> >> -- >> Roland Hughes, President >> Logikal Solutions(630)-205-1593 <(630)%20205-1593> >> http://www.theminimumyouneedtoknow.comhttp://www.infiniteexposure.nethttp://www.johnsmith-book.comhttp://www.logikalblog.comhttp://www.interestingauthors.com/bloghttp://lesedi.us/http://onedollarcontentstore.com >> >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest >> >> > > > -- > Best regards, > Vlad > > > -- > Roland Hughes, President > Logikal Solutions(630)-205-1593 <(630)%20205-1593> > http://www.theminimumyouneedtoknow.comhttp://www.infiniteexposure.nethttp://www.johnsmith-book.comhttp://www.logikalblog.comhttp://www.interestingauthors.com/bloghttp://lesedi.us/http://onedollarcontentstore.com > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From roland at logikalsolutions.com Fri Oct 20 00:06:43 2017 From: roland at logikalsolutions.com (Roland Hughes) Date: Thu, 19 Oct 2017 17:06:43 -0500 Subject: [Interest] Interest Digest Wiki instructions for PI cross compile do not work for PostgreSQL support In-Reply-To: References: <91317583-a01c-c518-60eb-9d9fb8fc9964@logikalsolutions.com> <2fc0507d-5788-3544-7189-f95a33fb7912@logikalsolutions.com> Message-ID: <17d84daa-8024-e259-7c96-b0ac6fbb4115@logikalsolutions.com> It's not misleading when it is a hog fattened way past market. 90% of the embedded systems I encounter have no GPU so the driver issue is irrelevant. You get rid of all needless things to improve battery life. Claiming an i.MX6 which most certainly must need grid power or batteries the size of a house is the "normal" embedded processor for medical devices or industrial control is simply ludicrous. I was using a Pi-II not a 1. The Pi-II has waaaaaaaaaaaaaaaaaaaay more horsepower than the vast majority of embedded systems I'm talking about. Please do not mislead people. QML is a horrible wretched thing which should never have seen the light of day. Offering up "The Microsoft Solution" of "throw hardware and grid power at it" is simply no solution for the vast majority of embedded systems especially in the medical field. On 10/19/2017 02:04 PM, Filip Piechocki wrote: > On Thu, Oct 19, 2017 at 2:43 PM, Roland Hughes > > wrote: > > Scroll down and watch the video. QML is an 800 lb gorilla trying > to ride in a 2 cylinder car. > > http://www.logikalsolutions.com/wordpress/information-technology/raspberry-qt-part-12-qml-blows-big-stinky-chunks/ > > > > Application used here is of course the best candidate for widgets > implementation as it does not use QtQuick advantages. > > Do this: > https://www.youtube.com/watch?v=wulbR2R1GpM > in Qt Widgets and share your results. > > But please, do not mislead people. You run this app with software > OpenGL on a device with really weak CPU. Xorg alone eats all resources > of RPi 1 as it has no HW GPU acceleration. > In my company we get 20-25 fps when rendering maps on a quite powerful > (for embedded world) x86 and like 230% CPU usage (of 4 cores) as there > is no linux driver for its GPU. Meanwhile - we get stable 60fps on > i.MX6 DualLite (2 ARMv7 cores 792MHz) with 12-20% CPU usage. All done > with QtQuick. > > Nasty worthless resource pig which exists only to pursue script > kiddies. > > > On 10/19/2017 04:38 AM, Vlad Stelmahovsky wrote: >> QML is not that resource hogging as JS. dont use JS and you'll be >> fine >> >> On Tue, Oct 17, 2017 at 8:11 PM, Roland Hughes >> > > wrote: >> >> >> >> On 10/17/2017 12:54 PM, interest-request at qt-project.org >> wrote: >>> On ter?a-feira, 17 de outubro de 2017 08:11:13 PDT Roland >>> Hughes wrote: >>>>> The bug tracking system is under our control - it will not just >>>>> disappear (from our perspective). >>>> Oh yes it will! >>>> >>>> Speaking as someone who has heard that soooooo many times before, let's >>>> just count a few for Qt shall we. >>>> >>>> The Trolltech bug database was never going to just disappear (from our >>>> perspective). It did. A tiny fraction of the bugs migrated to the new >>>> system but most were mass exterminated with >>> The TT TT was not a public database. It existed internally only. When we >>> switched to a public bugtracker, we could only export some entries since many >>> had confidential customer information. Those that were exported had to be >>> review by a person to make sure we were not violation any NDAs or >>> confidentiality. >>> >>> That's the same reason why the code repository starts with Qt 4.5, not earlier >>> versions. >>> >>>> "The version this bug is reported against is no longer supported..." >>>> >>>> The Nokia bug tracker was never going to just disappear (from our >>>> perspective). It did. Few, if any of the older bugs made it into the >>>> current database. Most were mass exterminated with >>> There was no Nokia database. We switched straight from the internal tdb >>> (that's what it was called) to JIRA. >> There was a Nokia bug base as well, at least for a while. I >> and others entered bugs into it back in the day. Your >> argument also re-enforces a great many bugs "simply disappeared." >>>> I hear from quite a few companies in similar boats. They started >>>> development for a medical/industrial device which had a lengthy >>>> testing/approval process, filed bug reports for that version only to see >>>> them rot or fall victim to a mass extermination. >>> Most open source projects don't support old versions, since they don't have >>> the manpower to do so. >>> >>>> The current owners of Qt and the current OpenSource maintainers don't >>>> offer or seem to understand the concept of an LTS (Long Term Support) >>>> version. They are constantly pursuing script kiddies and that worthless >>>> QML instead of maintaining the base which built them. This will soon >>>> force a fork in the OpenSource project. One which rips out all of the >>>> QML and focuses on nothing but bug fixes for 12 years. Yes, 12 years. >>> Again, offence taken. >> Take all of the offense you want. Medical devices and >> industrial controls need LTS versions, not resource hogging >> QML features. Qt's chasing of the idiot phone market which >> has 6 months at best life spans is alienating and chasing >> away the very industries which made Qt successful. >>> I don't know who plans on forking. There's no such division in the community, >>> so any attempt to do so will probably start with very few developers. Almost >>> certainly, fewer than critical mass to maintain the codebase. >>> >>> See TQt (Trinity Project) for an example of a fork attempt. >> It's easy to fork something you have been maintaining >> internally for years. There _IS_ such a division. You don't >> know about it because they don't come here. They justifiably >> believe they've been abandoned. The relentless pursuit of >> "new cool features" to please the phone crowd is causing the >> much larger medical device and industrial control industries >> to create their own LTS. >> >> How many questions have you seen on here over the past 18 >> months about Qt 3? That project Harmman (sp?) calls about >> periodically sells north of a million units per year and the >> company is maintaining Qt 3 on its own so they can make minor >> product enhancements which don't have to go though multi-year >> clinical trials. They aren't the only calls I get about >> products using Qt 3, 4.2, and the most likely soon to be >> orphaned (if not already) 4.8. Every company I am contacted >> about using earlier versions has their own staff maintaining >> the code base today. They have had no other choice. If >> anything, joining forces with someone who is not a competitor >> but using the same tool set will lighten their load. >> >> -- >> Roland Hughes, President >> Logikal Solutions >> (630)-205-1593 >> >> http://www.theminimumyouneedtoknow.com >> >> http://www.infiniteexposure.net >> http://www.johnsmith-book.com >> http://www.logikalblog.com >> http://www.interestingauthors.com/blog >> >> http://lesedi.us/ >> http://onedollarcontentstore.com >> >> >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest >> >> >> >> >> >> -- >> Best regards, >> Vlad > > -- > Roland Hughes, President > Logikal Solutions > (630)-205-1593 > > http://www.theminimumyouneedtoknow.com > > http://www.infiniteexposure.net > http://www.johnsmith-book.com > http://www.logikalblog.com > http://www.interestingauthors.com/blog > > http://lesedi.us/ > http://onedollarcontentstore.com > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > > -- Roland Hughes, President Logikal Solutions (630)-205-1593 http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.johnsmith-book.com http://www.logikalblog.com http://www.interestingauthors.com/blog http://lesedi.us/ http://onedollarcontentstore.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From szehowe.koh at gmail.com Fri Oct 20 01:54:08 2017 From: szehowe.koh at gmail.com (Sze Howe Koh) Date: Fri, 20 Oct 2017 07:54:08 +0800 Subject: [Interest] Interest Digest Wiki instructions for PI cross compile do not work for PostgreSQL support In-Reply-To: <2fc0507d-5788-3544-7189-f95a33fb7912@logikalsolutions.com> References: <91317583-a01c-c518-60eb-9d9fb8fc9964@logikalsolutions.com> <2fc0507d-5788-3544-7189-f95a33fb7912@logikalsolutions.com> Message-ID: On 19 October 2017 at 20:43, Roland Hughes wrote: > > Scroll down and watch the video. QML is an 800 lb gorilla trying to ride in a 2 cylinder car. > > http://www.logikalsolutions.com/wordpress/information-technology/raspberry-qt-part-12-qml-blows-big-stinky-chunks/ Roland, Your code uses Qt Quick Controls 1, which was not designed with embedded systems In mind. Try again with Qt Quick Controls 2, which was designed for embedded applications. You will see a marked improvement in performance and resource consumption. Regards, Sze-Howe From fpiechocki at gmail.com Fri Oct 20 07:49:58 2017 From: fpiechocki at gmail.com (Filip Piechocki) Date: Fri, 20 Oct 2017 07:49:58 +0200 Subject: [Interest] Interest Digest Wiki instructions for PI cross compile do not work for PostgreSQL support In-Reply-To: <17d84daa-8024-e259-7c96-b0ac6fbb4115@logikalsolutions.com> References: <91317583-a01c-c518-60eb-9d9fb8fc9964@logikalsolutions.com> <2fc0507d-5788-3544-7189-f95a33fb7912@logikalsolutions.com> <17d84daa-8024-e259-7c96-b0ac6fbb4115@logikalsolutions.com> Message-ID: On Oct 20, 2017 00:11, "Roland Hughes" wrote: It's not misleading when it is a hog fattened way past market. 90% of the embedded systems I encounter have no GPU so the driver issue is irrelevant. You get rid of all needless things to improve battery life. Claiming an i.MX6 which most certainly must need grid power or batteries the size of a house is the "normal" embedded processor for medical devices or industrial control is simply ludicrous. And how much of embedded market are devices you are talking about? 5%? 1%? 0.1%? 90% of embedded devices I encounter DO have GPU and these are TVs, set top boxes, phones, public transport systems and even fridge. Oh, and using HW parts that are specifically designed for some things (like GPUs are for graphics) often gives much higher performance/(power draw). Of course it depends how much you will use it. I was using a Pi-II not a 1. The Pi-II has waaaaaaaaaaaaaaaaaaaay more horsepower than the vast majority of embedded systems I'm talking about. But it is still very weak CPU (I don't know the details but llvmpipe driver might be limited by single core performance so not much difference between RPi 1 and 2) and you are forcing it to draw OpenGL which this CPU would like to not handle at all as it is not designed for this. Already shown example of Qt Cinematic Experience which is much more sofisticated/fancy than your example app and can run on decent frame rates on RPi 1. Like said earlier - do this in widgets or whatever you like technology and compare development time (so EFL is out...) and performance (so HTML5 is out...). Oh, and you are wrong already in a second sentence of your blog post as one can think that there is no difference between HTML/JS app and QtQuick app. There is. I've run Servo browser engine benchmark limited to 60 items on i.MX6 in chromium and got 8fps. Then redo this in QtQuick and got stable 60fps. That's 7.5x better. But this discussion makes me think that I need to do this in widgets too. Any suggestions how? Please do not mislead people. QML is a horrible wretched thing which should never have seen the light of day. If there is no need for it in your specific market - it is ok. In one of a companies I worked we had huuuge desktop application done in Qt and I will never suggest doing it in QtQuick as widgets are perfect choice for it. But there are many solutions where there is need for technology like QML/QtQuick, even if it is not perfect (and it is not). Ok, so maybe you are not misleading people with your blog post - you're just showing them that application that is not supposed to be done with QtQuick which requires decent HW accelerated OpenGL since December 2012 (ok, it has changed recently but still hw accelerated graphics is what you want) when done in QtQuick and ran on weak CPU and no HW OpenGL then performs poorly. Wow. Thanks Captain Obvious! You could have asked me and I will tell you the result without doing anything. But guess what - it has nothing to do with JS engine in this particular example, so your statements are wrong. Offering up "The Microsoft Solution" of "throw hardware and grid power at it" is simply no solution for the vast majority of embedded systems especially in the medical field. On 10/19/2017 02:04 PM, Filip Piechocki wrote: On Thu, Oct 19, 2017 at 2:43 PM, Roland Hughes wrote: > Scroll down and watch the video. QML is an 800 lb gorilla trying to ride > in a 2 cylinder car. > > http://www.logikalsolutions.com/wordpress/information-techno > logy/raspberry-qt-part-12-qml-blows-big-stinky-chunks/ > Application used here is of course the best candidate for widgets implementation as it does not use QtQuick advantages. Do this: https://www.youtube.com/watch?v=wulbR2R1GpM in Qt Widgets and share your results. But please, do not mislead people. You run this app with software OpenGL on a device with really weak CPU. Xorg alone eats all resources of RPi 1 as it has no HW GPU acceleration. In my company we get 20-25 fps when rendering maps on a quite powerful (for embedded world) x86 and like 230% CPU usage (of 4 cores) as there is no linux driver for its GPU. Meanwhile - we get stable 60fps on i.MX6 DualLite (2 ARMv7 cores 792MHz) with 12-20% CPU usage. All done with QtQuick. > Nasty worthless resource pig which exists only to pursue script kiddies. > > On 10/19/2017 04:38 AM, Vlad Stelmahovsky wrote: > > QML is not that resource hogging as JS. dont use JS and you'll be fine > > On Tue, Oct 17, 2017 at 8:11 PM, Roland Hughes < > roland at logikalsolutions.com> wrote: > >> >> >> On 10/17/2017 12:54 PM, interest-request at qt-project.org wrote: >> >> On ter?a-feira, 17 de outubro de 2017 08:11:13 PDT Roland Hughes wrote: >> >> The bug tracking system is under our control - it will not just >> disappear (from our perspective). >> >> Oh yes it will! >> >> Speaking as someone who has heard that soooooo many times before, let's >> just count a few for Qt shall we. >> >> The Trolltech bug database was never going to just disappear (from our >> perspective). It did. A tiny fraction of the bugs migrated to the new >> system but most were mass exterminated with >> >> The TT TT was not a public database. It existed internally only. When we >> switched to a public bugtracker, we could only export some entries since many >> had confidential customer information. Those that were exported had to be >> review by a person to make sure we were not violation any NDAs or >> confidentiality. >> >> That's the same reason why the code repository starts with Qt 4.5, not earlier >> versions. >> >> >> "The version this bug is reported against is no longer supported..." >> >> The Nokia bug tracker was never going to just disappear (from our >> perspective). It did. Few, if any of the older bugs made it into the >> current database. Most were mass exterminated with >> >> There was no Nokia database. We switched straight from the internal tdb >> (that's what it was called) to JIRA. >> >> There was a Nokia bug base as well, at least for a while. I and others >> entered bugs into it back in the day. Your argument also re-enforces a >> great many bugs "simply disappeared." >> >> I hear from quite a few companies in similar boats. They started >> development for a medical/industrial device which had a lengthy >> testing/approval process, filed bug reports for that version only to see >> them rot or fall victim to a mass extermination. >> >> Most open source projects don't support old versions, since they don't have >> the manpower to do so. >> >> >> The current owners of Qt and the current OpenSource maintainers don't >> offer or seem to understand the concept of an LTS (Long Term Support) >> version. They are constantly pursuing script kiddies and that worthless >> QML instead of maintaining the base which built them. This will soon >> force a fork in the OpenSource project. One which rips out all of the >> QML and focuses on nothing but bug fixes for 12 years. Yes, 12 years. >> >> Again, offence taken. >> >> Take all of the offense you want. Medical devices and industrial controls >> need LTS versions, not resource hogging QML features. Qt's chasing of the >> idiot phone market which has 6 months at best life spans is alienating and >> chasing away the very industries which made Qt successful. >> >> I don't know who plans on forking. There's no such division in the community, >> so any attempt to do so will probably start with very few developers. Almost >> certainly, fewer than critical mass to maintain the codebase. >> >> See TQt (Trinity Project) for an example of a fork attempt. >> >> It's easy to fork something you have been maintaining internally for >> years. There _IS_ such a division. You don't know about it because they >> don't come here. They justifiably believe they've been abandoned. The >> relentless pursuit of "new cool features" to please the phone crowd is >> causing the much larger medical device and industrial control industries to >> create their own LTS. >> >> How many questions have you seen on here over the past 18 months about Qt >> 3? That project Harmman (sp?) calls about periodically sells north of a >> million units per year and the company is maintaining Qt 3 on its own so >> they can make minor product enhancements which don't have to go though >> multi-year clinical trials. They aren't the only calls I get about products >> using Qt 3, 4.2, and the most likely soon to be orphaned (if not already) >> 4.8. Every company I am contacted about using earlier versions has their >> own staff maintaining the code base today. They have had no other choice. >> If anything, joining forces with someone who is not a competitor but using >> the same tool set will lighten their load. >> >> -- >> Roland Hughes, President >> Logikal Solutions(630)-205-1593 <%28630%29%20205-1593> >> http://www.theminimumyouneedtoknow.comhttp://www.infiniteexposure.nethttp://www.johnsmith-book.comhttp://www.logikalblog.comhttp://www.interestingauthors.com/bloghttp://lesedi.us/http://onedollarcontentstore.com >> >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest >> >> > > > -- > Best regards, > Vlad > > > -- > Roland Hughes, President > Logikal Solutions(630)-205-1593 <%28630%29%20205-1593> > http://www.theminimumyouneedtoknow.comhttp://www.infiniteexposure.nethttp://www.johnsmith-book.comhttp://www.logikalblog.comhttp://www.interestingauthors.com/bloghttp://lesedi.us/http://onedollarcontentstore.com > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > -- Roland Hughes, President Logikal Solutions(630)-205-1593 <(630)%20205-1593> http://www.theminimumyouneedtoknow.comhttp://www.infiniteexposure.nethttp://www.johnsmith-book.comhttp://www.logikalblog.comhttp://www.interestingauthors.com/bloghttp://lesedi.us/http://onedollarcontentstore.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From vladstelmahovsky at gmail.com Fri Oct 20 09:14:09 2017 From: vladstelmahovsky at gmail.com (Vlad Stelmahovsky) Date: Fri, 20 Oct 2017 09:14:09 +0200 Subject: [Interest] Interest Digest Wiki instructions for PI cross compile do not work for PostgreSQL support In-Reply-To: References: <91317583-a01c-c518-60eb-9d9fb8fc9964@logikalsolutions.com> <2fc0507d-5788-3544-7189-f95a33fb7912@logikalsolutions.com> <17d84daa-8024-e259-7c96-b0ac6fbb4115@logikalsolutions.com> Message-ID: I've created much more complex apps using QtQuick 1 on HW much weaker than RPi2 (Symbian phones) w/o such laggin as in this simple calc example. Obviously, there something wrong with code and/or system setup On Fri, Oct 20, 2017 at 7:49 AM, Filip Piechocki wrote: > > > On Oct 20, 2017 00:11, "Roland Hughes" > wrote: > > It's not misleading when it is a hog fattened way past market. > > 90% of the embedded systems I encounter have no GPU so the driver issue is > irrelevant. You get rid of all needless things to improve battery life. > Claiming an i.MX6 which most certainly must need grid power or batteries > the size of a house is the "normal" embedded processor for medical devices > or industrial control is simply ludicrous. > > And how much of embedded market are devices you are talking about? 5%? 1%? > 0.1%? > > 90% of embedded devices I encounter DO have GPU and these are TVs, set top > boxes, phones, public transport systems and even fridge. Oh, and using HW > parts that are specifically designed for some things (like GPUs are for > graphics) often gives much higher performance/(power draw). Of course it > depends how much you will use it. > > I was using a Pi-II not a 1. The Pi-II has waaaaaaaaaaaaaaaaaaaay more > horsepower than the vast majority of embedded systems I'm talking about. > > But it is still very weak CPU (I don't know the details but llvmpipe > driver might be limited by single core performance so not much difference > between RPi 1 and 2) and you are forcing it to draw OpenGL which this CPU > would like to not handle at all as it is not designed for this. Already > shown example of Qt Cinematic Experience which is much more > sofisticated/fancy than your example app and can run on decent frame rates > on RPi 1. Like said earlier - do this in widgets or whatever you like > technology and compare development time (so EFL is out...) and performance > (so HTML5 is out...). > Oh, and you are wrong already in a second sentence of your blog post as > one can think that there is no difference between HTML/JS app and QtQuick > app. There is. I've run Servo browser engine benchmark limited to 60 items > on i.MX6 in chromium and got 8fps. Then redo this in QtQuick and got stable > 60fps. That's 7.5x better. But this discussion makes me think that I need > to do this in widgets too. Any suggestions how? > > Please do not mislead people. QML is a horrible wretched thing which > should never have seen the light of day. > > If there is no need for it in your specific market - it is ok. In one of a > companies I worked we had huuuge desktop application done in Qt and I will > never suggest doing it in QtQuick as widgets are perfect choice for it. But > there are many solutions where there is need for technology like > QML/QtQuick, even if it is not perfect (and it is not). > > Ok, so maybe you are not misleading people with your blog post - you're > just showing them that application that is not supposed to be done with > QtQuick which requires decent HW accelerated OpenGL since December 2012 > (ok, it has changed recently but still hw accelerated graphics is what you > want) when done in QtQuick and ran on weak CPU and no HW OpenGL then > performs poorly. Wow. Thanks Captain Obvious! You could have asked me and I > will tell you the result without doing anything. But guess what - it has > nothing to do with JS engine in this particular example, so your statements > are wrong. > > Offering up "The Microsoft Solution" of "throw hardware and grid power at > it" is simply no solution for the vast majority of embedded systems > especially in the medical field. > > On 10/19/2017 02:04 PM, Filip Piechocki wrote: > > On Thu, Oct 19, 2017 at 2:43 PM, Roland Hughes < > roland at logikalsolutions.com> wrote: > >> Scroll down and watch the video. QML is an 800 lb gorilla trying to ride >> in a 2 cylinder car. >> >> http://www.logikalsolutions.com/wordpress/information-techno >> logy/raspberry-qt-part-12-qml-blows-big-stinky-chunks/ >> > > Application used here is of course the best candidate for widgets > implementation as it does not use QtQuick advantages. > > Do this: > https://www.youtube.com/watch?v=wulbR2R1GpM > in Qt Widgets and share your results. > > But please, do not mislead people. You run this app with software OpenGL > on a device with really weak CPU. Xorg alone eats all resources of RPi 1 as > it has no HW GPU acceleration. > In my company we get 20-25 fps when rendering maps on a quite powerful > (for embedded world) x86 and like 230% CPU usage (of 4 cores) as there is > no linux driver for its GPU. Meanwhile - we get stable 60fps on i.MX6 > DualLite (2 ARMv7 cores 792MHz) with 12-20% CPU usage. All done with > QtQuick. > > >> Nasty worthless resource pig which exists only to pursue script kiddies. >> >> On 10/19/2017 04:38 AM, Vlad Stelmahovsky wrote: >> >> QML is not that resource hogging as JS. dont use JS and you'll be fine >> >> On Tue, Oct 17, 2017 at 8:11 PM, Roland Hughes < >> roland at logikalsolutions.com> wrote: >> >>> >>> >>> On 10/17/2017 12:54 PM, interest-request at qt-project.org wrote: >>> >>> On ter?a-feira, 17 de outubro de 2017 08:11:13 PDT Roland Hughes wrote: >>> >>> The bug tracking system is under our control - it will not just >>> disappear (from our perspective). >>> >>> Oh yes it will! >>> >>> Speaking as someone who has heard that soooooo many times before, let's >>> just count a few for Qt shall we. >>> >>> The Trolltech bug database was never going to just disappear (from our >>> perspective). It did. A tiny fraction of the bugs migrated to the new >>> system but most were mass exterminated with >>> >>> The TT TT was not a public database. It existed internally only. When we >>> switched to a public bugtracker, we could only export some entries since many >>> had confidential customer information. Those that were exported had to be >>> review by a person to make sure we were not violation any NDAs or >>> confidentiality. >>> >>> That's the same reason why the code repository starts with Qt 4.5, not earlier >>> versions. >>> >>> >>> "The version this bug is reported against is no longer supported..." >>> >>> The Nokia bug tracker was never going to just disappear (from our >>> perspective). It did. Few, if any of the older bugs made it into the >>> current database. Most were mass exterminated with >>> >>> There was no Nokia database. We switched straight from the internal tdb >>> (that's what it was called) to JIRA. >>> >>> There was a Nokia bug base as well, at least for a while. I and others >>> entered bugs into it back in the day. Your argument also re-enforces a >>> great many bugs "simply disappeared." >>> >>> I hear from quite a few companies in similar boats. They started >>> development for a medical/industrial device which had a lengthy >>> testing/approval process, filed bug reports for that version only to see >>> them rot or fall victim to a mass extermination. >>> >>> Most open source projects don't support old versions, since they don't have >>> the manpower to do so. >>> >>> >>> The current owners of Qt and the current OpenSource maintainers don't >>> offer or seem to understand the concept of an LTS (Long Term Support) >>> version. They are constantly pursuing script kiddies and that worthless >>> QML instead of maintaining the base which built them. This will soon >>> force a fork in the OpenSource project. One which rips out all of the >>> QML and focuses on nothing but bug fixes for 12 years. Yes, 12 years. >>> >>> Again, offence taken. >>> >>> Take all of the offense you want. Medical devices and industrial >>> controls need LTS versions, not resource hogging QML features. Qt's chasing >>> of the idiot phone market which has 6 months at best life spans is >>> alienating and chasing away the very industries which made Qt successful. >>> >>> I don't know who plans on forking. There's no such division in the community, >>> so any attempt to do so will probably start with very few developers. Almost >>> certainly, fewer than critical mass to maintain the codebase. >>> >>> See TQt (Trinity Project) for an example of a fork attempt. >>> >>> It's easy to fork something you have been maintaining internally for >>> years. There _IS_ such a division. You don't know about it because they >>> don't come here. They justifiably believe they've been abandoned. The >>> relentless pursuit of "new cool features" to please the phone crowd is >>> causing the much larger medical device and industrial control industries to >>> create their own LTS. >>> >>> How many questions have you seen on here over the past 18 months about >>> Qt 3? That project Harmman (sp?) calls about periodically sells north of a >>> million units per year and the company is maintaining Qt 3 on its own so >>> they can make minor product enhancements which don't have to go though >>> multi-year clinical trials. They aren't the only calls I get about products >>> using Qt 3, 4.2, and the most likely soon to be orphaned (if not already) >>> 4.8. Every company I am contacted about using earlier versions has their >>> own staff maintaining the code base today. They have had no other choice. >>> If anything, joining forces with someone who is not a competitor but using >>> the same tool set will lighten their load. >>> >>> -- >>> Roland Hughes, President >>> Logikal Solutions(630)-205-1593 <%28630%29%20205-1593> >>> http://www.theminimumyouneedtoknow.comhttp://www.infiniteexposure.nethttp://www.johnsmith-book.comhttp://www.logikalblog.comhttp://www.interestingauthors.com/bloghttp://lesedi.us/http://onedollarcontentstore.com >>> >>> >>> _______________________________________________ >>> Interest mailing list >>> Interest at qt-project.org >>> http://lists.qt-project.org/mailman/listinfo/interest >>> >>> >> >> >> -- >> Best regards, >> Vlad >> >> >> -- >> Roland Hughes, President >> Logikal Solutions(630)-205-1593 <%28630%29%20205-1593> >> http://www.theminimumyouneedtoknow.comhttp://www.infiniteexposure.nethttp://www.johnsmith-book.comhttp://www.logikalblog.comhttp://www.interestingauthors.com/bloghttp://lesedi.us/http://onedollarcontentstore.com >> >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest >> >> > > -- > Roland Hughes, President > Logikal Solutions(630)-205-1593 <(630)%20205-1593> > http://www.theminimumyouneedtoknow.comhttp://www.infiniteexposure.nethttp://www.johnsmith-book.comhttp://www.logikalblog.comhttp://www.interestingauthors.com/bloghttp://lesedi.us/http://onedollarcontentstore.com > > > -- Best regards, Vlad -------------- next part -------------- An HTML attachment was scrubbed... URL: From Uwe.Rathmann at tigertal.de Fri Oct 20 10:20:27 2017 From: Uwe.Rathmann at tigertal.de (Uwe Rathmann) Date: Fri, 20 Oct 2017 08:20:27 +0000 (UTC) Subject: [Interest] Interest Digest Wiki instructions for PI cross compile do not work for PostgreSQL support References: <91317583-a01c-c518-60eb-9d9fb8fc9964@logikalsolutions.com> <2fc0507d-5788-3544-7189-f95a33fb7912@logikalsolutions.com> <17d84daa-8024-e259-7c96-b0ac6fbb4115@logikalsolutions.com> Message-ID: On Fri, 20 Oct 2017 09:14:09 +0200, Vlad Stelmahovsky wrote: > I've created much more complex apps using QtQuick 1 on HW much weaker > than RPi2 (Symbian phones) w/o such laggin as in this simple calc > example. Obviously, there something wrong with code and/or system setup A simple push button is made of ( IIRC ) more than 30 QObjects with Quick Controls 1, the version of Quick Controls 2 with less features still consists of 7 QObjects. Each stop of a gradient is made as QObject for no other reason, than to make it accessible from QML. I could continue with almost every control, but let's summarize it this way: Qt/Quick has not been designed to be a lightweight technology. But I never heard anyone complaining about the scene graph ! I would have some critics myself about the C++ part on top, but beside its strategy, about when to create the scene graph nodes, it does not prevent you from having an efficient application. The problems start with the fact that the API of most of those C++ classes are designed to serve the QML use case, making QML mandatory. Finally QML on top does not contribute to performance in any positive way - it is about convenience only. In the best case ( small applications ) you won't notice the startup performance penalties, but you definitely always have to pay with a very significant memory footprint. -- IMHO criticizing having to use QML is very valid and it can't be answered because of having a good performance from the scene graph. And to be clear: it is not QML to blame - it is the fact that you have to use it, when you are in need for a modern graphic stack. And this is exactly why I'm trying to create the QSkinny alternative - one where the decision for the graphic stack is independent from the decision about the programming language you prefer to write your application code with. Uwe From vladstelmahovsky at gmail.com Fri Oct 20 12:00:32 2017 From: vladstelmahovsky at gmail.com (Vlad Stelmahovsky) Date: Fri, 20 Oct 2017 12:00:32 +0200 Subject: [Interest] Interest Digest Wiki instructions for PI cross compile do not work for PostgreSQL support In-Reply-To: References: <91317583-a01c-c518-60eb-9d9fb8fc9964@logikalsolutions.com> <2fc0507d-5788-3544-7189-f95a33fb7912@logikalsolutions.com> <17d84daa-8024-e259-7c96-b0ac6fbb4115@logikalsolutions.com> Message-ID: I was not talking about QQC1, but about Qt Quick 1 it was QML blamed to be a behemoth, but usually, its translates to appropriate C++ code. My point is even in Qt Quick 1 times performance was not so bad for simple UIs if using QML wisely On Fri, Oct 20, 2017 at 10:20 AM, Uwe Rathmann wrote: > On Fri, 20 Oct 2017 09:14:09 +0200, Vlad Stelmahovsky wrote: > > > I've created much more complex apps using QtQuick 1 on HW much weaker > > than RPi2 (Symbian phones) w/o such laggin as in this simple calc > > example. Obviously, there something wrong with code and/or system setup > > A simple push button is made of ( IIRC ) more than 30 QObjects with Quick > Controls 1, the version of Quick Controls 2 with less features still > consists of 7 QObjects. Each stop of a gradient is made as QObject for no > other reason, than to make it accessible from QML. > > I could continue with almost every control, but let's summarize it this > way: Qt/Quick has not been designed to be a lightweight technology. > > But I never heard anyone complaining about the scene graph ! > > I would have some critics myself about the C++ part on top, but beside > its strategy, about when to create the scene graph nodes, it does not > prevent you from having an efficient application. > > The problems start with the fact that the API of most of those C++ > classes are designed to serve the QML use case, making QML mandatory. > > Finally QML on top does not contribute to performance in any positive way > - it is about convenience only. In the best case ( small applications ) > you won't notice the startup performance penalties, but you definitely > always have to pay with a very significant memory footprint. > > -- > > IMHO criticizing having to use QML is very valid and it can't be answered > because of having a good performance from the scene graph. And to be > clear: it is not QML to blame - it is the fact that you have to use it, > when you are in need for a modern graphic stack. > > And this is exactly why I'm trying to create the QSkinny alternative - > one where the decision for the graphic stack is independent from the > decision about the programming language you prefer to write your > application code with. > > Uwe > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -- Best regards, Vlad -------------- next part -------------- An HTML attachment was scrubbed... URL: From roland at logikalsolutions.com Fri Oct 20 15:22:19 2017 From: roland at logikalsolutions.com (Roland Hughes) Date: Fri, 20 Oct 2017 08:22:19 -0500 Subject: [Interest] Interest Digest Wiki instructions for PI cross compile do not work for PostgreSQL support In-Reply-To: References: <91317583-a01c-c518-60eb-9d9fb8fc9964@logikalsolutions.com> <2fc0507d-5788-3544-7189-f95a33fb7912@logikalsolutions.com> <17d84daa-8024-e259-7c96-b0ac6fbb4115@logikalsolutions.com> Message-ID: On 10/20/2017 12:49 AM, Filip Piechocki wrote: > > > On Oct 20, 2017 00:11, "Roland Hughes" > wrote: > > It's not misleading when it is a hog fattened way past market. > > 90% of the embedded systems I encounter have no GPU so the driver > issue is irrelevant. You get rid of all needless things to improve > battery life. Claiming an i.MX6 which most certainly must need > grid power or batteries the size of a house is the "normal" > embedded processor for medical devices or industrial control is > simply ludicrous. > > And how much of embedded market are devices you are talking about? 5%? > 1%? 0.1%? > > 90% of embedded devices I encounter DO have GPU and these are TVs, set > top boxes, phones, public transport systems and even fridge. Oh, and > using HW parts that are specifically designed for some things (like > GPUs are for graphics) often gives much higher performance/(power > draw). Of course it depends how much you will use it. It's the most important segment of the market. Medical devices designed to have up to 10 days of continuous use time (not stand by) while on batteries. The things deployed to disaster areas https://www.nbcnews.com/nightly-news/video/almost-80-percent-of-puerto-rico-still-without-power-1077278275904 https://www.washingtonpost.com/world/more-than-100-feared-buried-as-landslide-destroys-village-in-southwest-china/2017/06/23/fbec208e-5881-11e7-9e18-968f6ad1e1d3_story.html?utm_term=.c0d01e779851 http://www.cnn.com/2017/10/13/us/california-fires-updates/index.html http://www.telegraph.co.uk/travel/destinations/caribbean/articles/hurricane-irma-hotels-open-island-damage/ If you really are using QML for phone applications thank you for creating a generation of wall huggers who can't get more than a few minutes away from the nearest power outlet. Your phones are sooooo useful in Puerto Rico where many parts only get enough fuel to run the generator for a couple of hours each week. > I was using a Pi-II not a 1. The Pi-II has waaaaaaaaaaaaaaaaaaaay > more horsepower than the vast majority of embedded systems I'm > talking about. > > But it is still very weak CPU (I don't know the details but llvmpipe > driver might be limited by single core performance so not much > difference between RPi 1 and 2) and you are forcing it to draw OpenGL > which this CPU would like to not handle at all as it is not designed > for this. No, I am not, QML is. Both Qt/Digia and others in here are pushing QML as the solution to world hunger. A recent client sent developers to Digia to be taught Qt. What did they get taught? QML and JSON files, not a single 9*&)(*&)(*&ing mention of widgets or databases or the right way to design a system. Guess what happened when they came back from training? They tried to develop the entire embedded system using QML and JSON files. A data acquisition and control system with many sensors taking readings multiple times per second, storing them into a complex directory tree of JSON files. Guess what? After a few hours of run time the SD card for data storage went write protected because the time it took to rewrite one of the JSON files after stuffing a new value into it exceeded the device driver time out so the driver put the media into write protection mode to save it. > Please do not mislead people. QML is a horrible wretched thing > which should never have seen the light of day. > > If there is no need for it in your specific market - it is ok. In one > of a companies I worked we had huuuge desktop application done in Qt > and I will never suggest doing it in QtQuick as widgets are perfect > choice for it. But there are many solutions where there is need for > technology like QML/QtQuick, even if it is not perfect (and it is not). There is no need for QML, ever. In recent releases Digia/Qt has tried to manufacture a "need" for it by choosing to implement certain features only in the worthless QML. > > Ok, so maybe you are not misleading people with your blog post - > you're just showing them that application that is not supposed to be > done with QtQuick which requires decent HW accelerated OpenGL since > December 2012 (ok, it has changed recently but still hw accelerated > graphics is what you want) when done in QtQuick and ran on weak CPU > and no HW OpenGL then performs poorly. Wow. Thanks Captain Obvious! No. I'm showing them that this "solution to world hunger" being pushed by the company and crazed eyed frothing at the mouth fanatics is the incorrect solution in 99.9999999999999% of all situations yet _most_ of them won't (*^)(*&)(*&ing bother to consider their platform because _everyone_ talks about just how sexy QML is. Just because script kiddies are cheap and just because it is being pushed by the vendor does not mean it is a valid or even useful choice. Far too many companies are hearing this "solution to world hunger" mantra, starting down the QML path because that is all that is being taught and boom, product failure. That reminds me, I need to follow up with a what is left of a company in Indiana who went down the QML route. When I spoke with them several years ago they were yet another group who believed they _had_ to use QML as there was no other way. They were 9 months late, couldn't get it working, looking for someone to "fix" the unfixable. Company had been in business a long long time but heard they filed bankruptcy recently. And thanks to the wiki page being done just as well as QML you can't even cross compile most Qt applications. -- Roland Hughes, President Logikal Solutions (630)-205-1593 http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.johnsmith-book.com http://www.logikalblog.com http://www.interestingauthors.com/blog http://lesedi.us/ http://onedollarcontentstore.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From vladstelmahovsky at gmail.com Fri Oct 20 15:25:49 2017 From: vladstelmahovsky at gmail.com (Vlad Stelmahovsky) Date: Fri, 20 Oct 2017 15:25:49 +0200 Subject: [Interest] Interest Digest Wiki instructions for PI cross compile do not work for PostgreSQL support In-Reply-To: References: <91317583-a01c-c518-60eb-9d9fb8fc9964@logikalsolutions.com> <2fc0507d-5788-3544-7189-f95a33fb7912@logikalsolutions.com> <17d84daa-8024-e259-7c96-b0ac6fbb4115@logikalsolutions.com> Message-ID: is someone pushes someone to use QML as a mandatory or store data into JSON DBs? Where? How? Its ridiculous. On Fri, Oct 20, 2017 at 3:22 PM, Roland Hughes wrote: > > > On 10/20/2017 12:49 AM, Filip Piechocki wrote: > > > > On Oct 20, 2017 00:11, "Roland Hughes" > wrote: > > It's not misleading when it is a hog fattened way past market. > > 90% of the embedded systems I encounter have no GPU so the driver issue is > irrelevant. You get rid of all needless things to improve battery life. > Claiming an i.MX6 which most certainly must need grid power or batteries > the size of a house is the "normal" embedded processor for medical devices > or industrial control is simply ludicrous. > > And how much of embedded market are devices you are talking about? 5%? 1%? > 0.1%? > > 90% of embedded devices I encounter DO have GPU and these are TVs, set top > boxes, phones, public transport systems and even fridge. Oh, and using HW > parts that are specifically designed for some things (like GPUs are for > graphics) often gives much higher performance/(power draw). Of course it > depends how much you will use it. > > It's the most important segment of the market. Medical devices designed to > have up to 10 days of continuous use time (not stand by) while on > batteries. The things deployed to disaster areas > > https://www.nbcnews.com/nightly-news/video/almost-80- > percent-of-puerto-rico-still-without-power-1077278275904 > > https://www.washingtonpost.com/world/more-than-100- > feared-buried-as-landslide-destroys-village-in-southwest- > china/2017/06/23/fbec208e-5881-11e7-9e18-968f6ad1e1d3_ > story.html?utm_term=.c0d01e779851 > > http://www.cnn.com/2017/10/13/us/california-fires-updates/index.html > > http://www.telegraph.co.uk/travel/destinations/caribbean/ > articles/hurricane-irma-hotels-open-island-damage/ > > If you really are using QML for phone applications thank you for creating > a generation of wall huggers who can't get more than a few minutes away > from the nearest power outlet. Your phones are sooooo useful in Puerto Rico > where many parts only get enough fuel to run the generator for a couple of > hours each week. > > I was using a Pi-II not a 1. The Pi-II has waaaaaaaaaaaaaaaaaaaay more > horsepower than the vast majority of embedded systems I'm talking about. > > But it is still very weak CPU (I don't know the details but llvmpipe > driver might be limited by single core performance so not much difference > between RPi 1 and 2) and you are forcing it to draw OpenGL which this CPU > would like to not handle at all as it is not designed for this. > > No, I am not, QML is. Both Qt/Digia and others in here are pushing QML as > the solution to world hunger. A recent client sent developers to Digia to > be taught Qt. What did they get taught? QML and JSON files, not a single > 9*&)(*&)(*&ing mention of widgets or databases or the right way to design a > system. Guess what happened when they came back from training? They tried > to develop the entire embedded system using QML and JSON files. A data > acquisition and control system with many sensors taking readings multiple > times per second, storing them into a complex directory tree of JSON files. > Guess what? After a few hours of run time the SD card for data storage went > write protected because the time it took to rewrite one of the JSON files > after stuffing a new value into it exceeded the device driver time out so > the driver put the media into write protection mode to save it. > > > Please do not mislead people. QML is a horrible wretched thing which > should never have seen the light of day. > > If there is no need for it in your specific market - it is ok. In one of a > companies I worked we had huuuge desktop application done in Qt and I will > never suggest doing it in QtQuick as widgets are perfect choice for it. But > there are many solutions where there is need for technology like > QML/QtQuick, even if it is not perfect (and it is not). > > There is no need for QML, ever. In recent releases Digia/Qt has tried to > manufacture a "need" for it by choosing to implement certain features only > in the worthless QML. > > > Ok, so maybe you are not misleading people with your blog post - you're > just showing them that application that is not supposed to be done with > QtQuick which requires decent HW accelerated OpenGL since December 2012 > (ok, it has changed recently but still hw accelerated graphics is what you > want) when done in QtQuick and ran on weak CPU and no HW OpenGL then > performs poorly. Wow. Thanks Captain Obvious! > > > No. I'm showing them that this "solution to world hunger" being pushed by > the company and crazed eyed frothing at the mouth fanatics is the incorrect > solution in 99.9999999999999% of all situations yet _most_ of them won't > (*^)(*&)(*&ing bother to consider their platform because _everyone_ talks > about just how sexy QML is. Just because script kiddies are cheap and just > because it is being pushed by the vendor does not mean it is a valid or > even useful choice. Far too many companies are hearing this "solution to > world hunger" mantra, starting down the QML path because that is all that > is being taught and boom, product failure. That reminds me, I need to > follow up with a what is left of a company in Indiana who went down the QML > route. When I spoke with them several years ago they were yet another group > who believed they _had_ to use QML as there was no other way. They were 9 > months late, couldn't get it working, looking for someone to "fix" the > unfixable. Company had been in business a long long time but heard they > filed bankruptcy recently. > > And thanks to the wiki page being done just as well as QML you can't even > cross compile most Qt applications. > > -- > Roland Hughes, President > Logikal Solutions > (630)-205-1593 > http://www.theminimumyouneedtoknow.comhttp://www.infiniteexposure.nethttp://www.johnsmith-book.comhttp://www.logikalblog.comhttp://www.interestingauthors.com/bloghttp://lesedi.us/http://onedollarcontentstore.com > > -- Best regards, Vlad -------------- next part -------------- An HTML attachment was scrubbed... URL: From roland at logikalsolutions.com Fri Oct 20 15:35:28 2017 From: roland at logikalsolutions.com (Roland Hughes) Date: Fri, 20 Oct 2017 08:35:28 -0500 Subject: [Interest] Interest Digest Wiki instructions for PI cross, compile do not work for PostgreSQL support In-Reply-To: References: Message-ID: Uwe, I do wish you luck with QSkinny. This library lost its way when it started with QML. Hell, even QML lost its way. When the Nokia boys and girls first started talking about this around the Chicago area it wasn't supposed to be an interpreted script kiddie language, but the equivalent of a compiled 4GL. The QML would go through a MOC like compiler generating C++ and Widget code and all features would exist within the C++ Qt framework. That's how it was first pitched to us. Myself and many others were big fans of that idea. It would allow us to quickly prototype the UI and limited functionality for testing on various targets and the only penalty was additional compile time. (You can "throw hardware at it" for faster compile but should never "throw hardware at it" when it comes to the shipping product.) After that it veered off into the weeds and hooked an 18 bottom plow to a tiny garden tractor. On 10/20/2017 08:27 AM, interest-request at qt-project.org wrote: > A simple push button is made of ( IIRC ) more than 30 QObjects with Quick > Controls 1, the version of Quick Controls 2 with less features still > consists of 7 QObjects. Each stop of a gradient is made as QObject for no > other reason, than to make it accessible from QML. > > I could continue with almost every control, but let's summarize it this > way: Qt/Quick has not been designed to be a lightweight technology. > > > The problems start with the fact that the API of most of those C++ > classes are designed to serve the QML use case, making QML mandatory. > > Finally QML on top does not contribute to performance in any positive way > - it is about convenience only. In the best case ( small applications ) > you won't notice the startup performance penalties, but you definitely > always have to pay with a very significant memory footprint. > > -- > > IMHO criticizing having to use QML is very valid and it can't be answered > because of having a good performance from the scene graph. And to be > clear: it is not QML to blame - it is the fact that you have to use it, > when you are in need for a modern graphic stack. > > And this is exactly why I'm trying to create the QSkinny alternative - > one where the decision for the graphic stack is independent from the > decision about the programming language you prefer to write your > application code with. -- Roland Hughes, President Logikal Solutions (630)-205-1593 http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.johnsmith-book.com http://www.logikalblog.com http://www.interestingauthors.com/blog http://lesedi.us/ http://onedollarcontentstore.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From roland at logikalsolutions.com Fri Oct 20 15:38:38 2017 From: roland at logikalsolutions.com (Roland Hughes) Date: Fri, 20 Oct 2017 08:38:38 -0500 Subject: [Interest] Interest Digest Wiki instructions for PI cross compile do not work for PostgreSQL support In-Reply-To: References: <91317583-a01c-c518-60eb-9d9fb8fc9964@logikalsolutions.com> <2fc0507d-5788-3544-7189-f95a33fb7912@logikalsolutions.com> <17d84daa-8024-e259-7c96-b0ac6fbb4115@logikalsolutions.com> Message-ID: <9800babd-e1b5-b0a7-e693-b4174b49c775@logikalsolutions.com> On 10/20/2017 08:25 AM, Vlad Stelmahovsky wrote: > is someone pushes someone to use QML as a mandatory or store data into > JSON DBs? Where? How? Its ridiculous. > > You go out for training to learn how to properly use a tool. All you are taught is QML and JSON because they are "new." Nothing ridiculous about it. When the only tool you have is a hammer, every problem must be a nail. -- Roland Hughes, President Logikal Solutions (630)-205-1593 http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.johnsmith-book.com http://www.logikalblog.com http://www.interestingauthors.com/blog http://lesedi.us/ http://onedollarcontentstore.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From carel.combrink at gmail.com Fri Oct 20 15:57:46 2017 From: carel.combrink at gmail.com (Carel Combrink) Date: Fri, 20 Oct 2017 15:57:46 +0200 Subject: [Interest] Building Qt apps on Ubuntu 17.10: GL/gl.h missing Message-ID: Hi, I am trying to build a test Qt 5.9.2 app on Ubuntu 17.10 but get the following compiler error: GL/gl.h: No such file or directory. I know in the past I had to install libgles2-mesa-dev to get around this issue, but is that still the recommended package to use for 17.10 since it uses Wayland as default? Installing libgles2-mesa-dev wants to install a lot of X11 related packages, which does not feel correct. mesa-common-dev also wants to install some x11 related packages. Regards, -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Fri Oct 20 17:06:06 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Fri, 20 Oct 2017 08:06:06 -0700 Subject: [Interest] Building Qt apps on Ubuntu 17.10: GL/gl.h missing In-Reply-To: References: Message-ID: <5210711.jk1Eys16CJ@tjmaciei-mobl1> On Friday, 20 October 2017 06:57:46 PDT Carel Combrink wrote: > GL/gl.h: No such file or directory. > > I know in the past I had to install libgles2-mesa-dev to get around this > issue, but is that still the recommended package to use for 17.10 since it > uses Wayland as default? You're looking for the GL header. Installing the GLES development package is the wrong solution. Install the GL development package. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From jeanmichael.celerier at gmail.com Sat Oct 21 09:09:22 2017 From: jeanmichael.celerier at gmail.com (=?UTF-8?Q?Jean=2DMicha=C3=ABl_Celerier?=) Date: Sat, 21 Oct 2017 09:09:22 +0200 Subject: [Interest] Interest Digest Wiki instructions for PI cross compile do not work for PostgreSQL support In-Reply-To: <9800babd-e1b5-b0a7-e693-b4174b49c775@logikalsolutions.com> References: <91317583-a01c-c518-60eb-9d9fb8fc9964@logikalsolutions.com> <2fc0507d-5788-3544-7189-f95a33fb7912@logikalsolutions.com> <17d84daa-8024-e259-7c96-b0ac6fbb4115@logikalsolutions.com> <9800babd-e1b5-b0a7-e693-b4174b49c775@logikalsolutions.com> Message-ID: > A simple push button is made of ( IIRC ) more than 30 QObjects with Quick Controls 1, the version of Quick Controls 2 with less features still consists of 7 QObjects. Each stop of a gradient is made as QObject for no other reason, than to make it accessible from QML. Wouldn't the better solution here be to allow multiple QML-defined objects to coalesce into a single "C++" QObject ? This way you'd get much better cache friendliness, less allocations, etc etc. Ideally this could be doable in C++ too, but with a good meta-object refactoring. Something like QObject mixins (this would *really* solve world hunger :p). Would certainly require templates at some point. ------- Jean-Michaël Celerier http://www.jcelerier.name On Fri, Oct 20, 2017 at 3:38 PM, Roland Hughes wrote: > > On 10/20/2017 08:25 AM, Vlad Stelmahovsky wrote: > > is someone pushes someone to use QML as a mandatory or store data into > JSON DBs? Where? How? Its ridiculous. > > > You go out for training to learn how to properly use a tool. All you are > taught is QML and JSON because they are "new." Nothing ridiculous about it. > When the only tool you have is a hammer, every problem must be a nail. > > -- > Roland Hughes, President > Logikal Solutions > (630)-205-1593 > http://www.theminimumyouneedtoknow.comhttp://www.infiniteexposure.nethttp://www.johnsmith-book.comhttp://www.logikalblog.comhttp://www.interestingauthors.com/bloghttp://lesedi.us/http://onedollarcontentstore.com > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dan at jerber.co.uk Sat Oct 21 10:07:00 2017 From: dan at jerber.co.uk (Dan Allen) Date: Sat, 21 Oct 2017 09:07:00 +0100 Subject: [Interest] QFileDialog Query Message-ID: <58f716bd-abc5-6064-36f7-4fcb0819810a@jerber.co.uk> Hi, I'm currently working on a save dialog for my application (currently testing in Ubuntu).  The dialog is in accept mode QFileDialog::AcceptSave and a default suffix of "txt" is set. I've noticed something that appears to be strange when the file provided exists as follows (assuming a file "text.txt" exists for the following): 1. If I select the existing file "text.txt" and click save, I am presented with the overwrite question dialog. 2. If I type "text.txt" as the file name and click save, I am presented with the overwrite question dialog. 3. If I type "text" as the file name (without the suffix), I am not presented with the overwrite question dialog and the dialog returns the filename "text.txt" where the default suffix has been added. Number (3) above is concerning.  If the dialog returns a filename, I would assume the user has accepted overwriting it, but this doesn't appear to be the case.  I assume this isn't intentional and is probably a bug? Thanks, Dan. From giuseppe.dangelo at kdab.com Sat Oct 21 10:27:17 2017 From: giuseppe.dangelo at kdab.com (Giuseppe D'Angelo) Date: Sat, 21 Oct 2017 10:27:17 +0200 Subject: [Interest] QFileDialog Query In-Reply-To: <58f716bd-abc5-6064-36f7-4fcb0819810a@jerber.co.uk> References: <58f716bd-abc5-6064-36f7-4fcb0819810a@jerber.co.uk> Message-ID: Hi, Il 21/10/2017 10:07, Dan Allen ha scritto: > Hi, > > I'm currently working on a save dialog for my application (currently > testing in Ubuntu).  The dialog is in accept mode > QFileDialog::AcceptSave and a default suffix of "txt" is set. > > I've noticed something that appears to be strange when the file provided > exists as follows (assuming a file "text.txt" exists for the following): > > 1. If I select the existing file "text.txt" and click save, I am > presented with the overwrite question dialog. > 2. If I type "text.txt" as the file name and click save, I am presented > with the overwrite question dialog. > 3. If I type "text" as the file name (without the suffix), I am not > presented with the overwrite question dialog and the dialog returns the > filename "text.txt" where the default suffix has been added. > > Number (3) above is concerning.  If the dialog returns a filename, I > would assume the user has accepted overwriting it, but this doesn't > appear to be the case.  I assume this isn't intentional and is probably > a bug? Likely, but it requires some investigation on where the bug actually lies. First and foremost, are you using the native (GTK?) file dialog or the Qt one? You can try setting QFileDialog::DontUseNativeDialog and see if it makes a difference. There are pretty much these cases: A) Native, returning "text.txt" to Qt without showing the overwrite confirmation dialog. A minimal check is in order within Qt to verify that it's opening the native file dialog correctly (with/without any option that would cause such behaviour). This should result in either a bug report against Qt, or a bug report against GTK. B) Native, returning "text" to Qt which then appends the file extension. Qt bug. C) Non-native. Qt bug. So, if it is a Qt bug, please report it on the bugtracker. This is obviously a P0, silent data loss. Cheers, -- Giuseppe D'Angelo | giuseppe.dangelo at kdab.com | Senior Software Engineer KDAB (UK) Ltd., a KDAB Group company | Tel: UK +44-1625-809908 KDAB - Qt, C++ and OpenGL Experts -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 4007 bytes Desc: Firma crittografica S/MIME URL: From dan at jerber.co.uk Sat Oct 21 11:33:41 2017 From: dan at jerber.co.uk (Dan Allen) Date: Sat, 21 Oct 2017 10:33:41 +0100 Subject: [Interest] QFileDialog Query In-Reply-To: References: <58f716bd-abc5-6064-36f7-4fcb0819810a@jerber.co.uk> Message-ID: Hi Guiseppe, I am using the native dialog.  I've tested again after setting QFileDialog::DontUseNativeDialog and this does not appear to have the problem. Thanks, Dan. On 21/10/17 09:27, Giuseppe D'Angelo wrote: > Hi, > > Il 21/10/2017 10:07, Dan Allen ha scritto: >> Hi, >> >> I'm currently working on a save dialog for my application (currently >> testing in Ubuntu).  The dialog is in accept mode >> QFileDialog::AcceptSave and a default suffix of "txt" is set. >> >> I've noticed something that appears to be strange when the file provided >> exists as follows (assuming a file "text.txt" exists for the following): >> >> 1. If I select the existing file "text.txt" and click save, I am >> presented with the overwrite question dialog. >> 2. If I type "text.txt" as the file name and click save, I am presented >> with the overwrite question dialog. >> 3. If I type "text" as the file name (without the suffix), I am not >> presented with the overwrite question dialog and the dialog returns the >> filename "text.txt" where the default suffix has been added. >> >> Number (3) above is concerning.  If the dialog returns a filename, I >> would assume the user has accepted overwriting it, but this doesn't >> appear to be the case.  I assume this isn't intentional and is probably >> a bug? > > Likely, but it requires some investigation on where the bug actually > lies. > > First and foremost, are you using the native (GTK?) file dialog or the > Qt one? You can try setting QFileDialog::DontUseNativeDialog and see > if it makes a difference. > > There are pretty much these cases: > > A) Native, returning "text.txt" to Qt without showing the overwrite > confirmation dialog. A minimal check is in order within Qt to verify > that it's opening the native file dialog correctly (with/without any > option that would cause such behaviour). This should result in either > a bug report against Qt, or a bug report against GTK. > > B) Native, returning "text" to Qt which then appends the file > extension. Qt bug. > > C) Non-native. Qt bug. > > So, if it is a Qt bug, please report it on the bugtracker. This is > obviously a P0, silent data loss. > > Cheers, > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From roland at logikalsolutions.com Sat Oct 21 14:33:46 2017 From: roland at logikalsolutions.com (Roland Hughes) Date: Sat, 21 Oct 2017 07:33:46 -0500 Subject: [Interest] Interest Digest Wiki instructions for PI cross compile do not work for PostgreSQL support In-Reply-To: References: <91317583-a01c-c518-60eb-9d9fb8fc9964@logikalsolutions.com> <2fc0507d-5788-3544-7189-f95a33fb7912@logikalsolutions.com> <17d84daa-8024-e259-7c96-b0ac6fbb4115@logikalsolutions.com> <9800babd-e1b5-b0a7-e693-b4174b49c775@logikalsolutions.com> Message-ID: <7ac170e5-5510-0d52-3f17-bd0c6b44beca@logikalsolutions.com> Don't bastardize QObject or the C++ classes to support a never-should-have-existed QML. The better solution is to purge QML from the package. On 10/21/2017 02:09 AM, Jean-Michaël Celerier wrote: > > A simple push button is made of ( IIRC ) more than 30 QObjects with > Quick > Controls 1, the version of Quick Controls 2 with less features still > consists of 7 QObjects. Each stop of a gradient is made as QObject for no > other reason, than to make it accessible from QML. > > Wouldn't the better solution here be to allow multiple QML-defined > objects to coalesce into a single "C++" QObject ? This way you'd get > much better cache friendliness, less allocations, etc etc. > > Ideally this could be doable in C++ too, but with a good meta-object > refactoring. Something like QObject mixins (this would *really* solve > world hunger :p). Would certainly require templates at some point. > > > > > ------- > Jean-Michaël Celerier > http://www.jcelerier.name > > On Fri, Oct 20, 2017 at 3:38 PM, Roland Hughes > > wrote: > > > On 10/20/2017 08:25 AM, Vlad Stelmahovsky wrote: >> is someone pushes someone to use QML as a mandatory or store data >> into JSON DBs? Where? How? Its ridiculous. >> >> > You go out for training to learn how to properly use a tool. All > you are taught is QML and JSON because they are "new." Nothing > ridiculous about it. When the only tool you have is a hammer, > every problem must be a nail. > > -- > Roland Hughes, President > Logikal Solutions > (630)-205-1593 > > http://www.theminimumyouneedtoknow.com > > http://www.infiniteexposure.net > http://www.johnsmith-book.com > http://www.logikalblog.com > http://www.interestingauthors.com/blog > > http://lesedi.us/ > http://onedollarcontentstore.com > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > > -- Roland Hughes, President Logikal Solutions (630)-205-1593 http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.johnsmith-book.com http://www.logikalblog.com http://www.interestingauthors.com/blog http://lesedi.us/ http://onedollarcontentstore.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeffrey.brendecke at gmail.com Sat Oct 21 15:56:22 2017 From: jeffrey.brendecke at gmail.com (Jeffrey Brendecke) Date: Sat, 21 Oct 2017 15:56:22 +0200 Subject: [Interest] Compiling the latest Qt versions post-5.10 Message-ID: <25F1B239-454A-4EDC-9A5E-E6EBE04C3E6B@gmail.com> Is it possible to access the latest development branches for Qt versions after 5.10? If so, where do I get the source and are there compilation/installation instructions beyond what is found here: https://wiki.qt.io/Building_Qt_5_from_Git -------------- next part -------------- An HTML attachment was scrubbed... URL: From googleersatz at oliverniebuhr.de Sat Oct 21 16:38:53 2017 From: googleersatz at oliverniebuhr.de (Oliver Niebuhr) Date: Sat, 21 Oct 2017 16:38:53 +0200 Subject: [Interest] ICU 60 RC1 and Qt 5.10 Message-ID: Hello. Before I open a Bug Report, my Questions: A.) Has anyone else too problems to compile Qt 5.10 (or other Qt Versions) with ICU 60 Release Candidate 1? B.) Or is this Problem already known? Thanks :) Oliver -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From giuseppe.dangelo at kdab.com Sat Oct 21 18:24:17 2017 From: giuseppe.dangelo at kdab.com (Giuseppe D'Angelo) Date: Sat, 21 Oct 2017 18:24:17 +0200 Subject: [Interest] Compiling the latest Qt versions post-5.10 In-Reply-To: <25F1B239-454A-4EDC-9A5E-E6EBE04C3E6B@gmail.com> References: <25F1B239-454A-4EDC-9A5E-E6EBE04C3E6B@gmail.com> Message-ID: Il 21/10/2017 15:56, Jeffrey Brendecke ha scritto: > Is it possible to access the latest development branches for Qt versions > after 5.10? Yes... > If so, where do I get the source and are there compilation/installation > instructions beyond what is found here: > > https://wiki.qt.io/Building_Qt_5_from_Git ... from the very same place. Just clone and checkout the "dev" branch, the build instructions are the same. Hope this helps, -- Giuseppe D'Angelo | giuseppe.dangelo at kdab.com | Senior Software Engineer KDAB (UK) Ltd., a KDAB Group company | Tel: UK +44-1625-809908 KDAB - Qt, C++ and OpenGL Experts -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 4007 bytes Desc: Firma crittografica S/MIME URL: From giuseppe.dangelo at kdab.com Sat Oct 21 18:25:37 2017 From: giuseppe.dangelo at kdab.com (Giuseppe D'Angelo) Date: Sat, 21 Oct 2017 18:25:37 +0200 Subject: [Interest] QFileDialog Query In-Reply-To: References: <58f716bd-abc5-6064-36f7-4fcb0819810a@jerber.co.uk> Message-ID: Il 21/10/2017 11:33, Dan Allen ha scritto: > Hi Guiseppe, > > I am using the native dialog.  I've tested again after setting > QFileDialog::DontUseNativeDialog and this does not appear to have the > problem. Then please submit a bug against GTK/Ubuntu :) Cheers, -- Giuseppe D'Angelo | giuseppe.dangelo at kdab.com | Senior Software Engineer KDAB (UK) Ltd., a KDAB Group company | Tel: UK +44-1625-809908 KDAB - Qt, C++ and OpenGL Experts -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 4007 bytes Desc: Firma crittografica S/MIME URL: From kshegunov at gmail.com Sat Oct 21 18:29:49 2017 From: kshegunov at gmail.com (Konstantin Shegunov) Date: Sat, 21 Oct 2017 19:29:49 +0300 Subject: [Interest] tryLock for QSystemSemaphore Message-ID: Hello, Is there any technical reason why QSystemSemaphore doesn't provide a `tryLock` method (as the regular one does)? Am I stuck to starting a separate thread to "emulate" such a behavior manually or is there a better way of achieving it? Thanks in advance! -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Sat Oct 21 18:33:23 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Sat, 21 Oct 2017 09:33:23 -0700 Subject: [Interest] ICU 60 RC1 and Qt 5.10 In-Reply-To: References: Message-ID: <1968171.RWqjsJJbPq@tjmaciei-mobl1> On Saturday, 21 October 2017 07:38:53 PDT Oliver Niebuhr wrote: > Hello. > > Before I open a Bug Report, my Questions: > > A.) Has anyone else too problems to compile Qt 5.10 (or other Qt > Versions) with ICU 60 Release Candidate 1? > > B.) Or is this Problem already known? The most likely scenario is that you're the first and currently only person trying that combination. Assume no else one knows what the issue is because no one has seen it. And since no one besides you knows what it is and you didn't say what the error was, we're all completely ignorant as to what the issue might be. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From thiago.macieira at intel.com Sat Oct 21 18:35:36 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Sat, 21 Oct 2017 09:35:36 -0700 Subject: [Interest] tryLock for QSystemSemaphore In-Reply-To: References: Message-ID: <1531250.rC7CHch1Y8@tjmaciei-mobl1> On Saturday, 21 October 2017 09:29:49 PDT Konstantin Shegunov wrote: > Hello, > Is there any technical reason why QSystemSemaphore doesn't provide a > `tryLock` method (as the regular one does)? Am I stuck to starting a > separate thread to "emulate" such a behavior manually or is there a better > way of achieving it? The reason is that it was never implemented. I've just checked and both backends could have it. As to what you're stuck with, we need to know what you're trying to do. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From kshegunov at gmail.com Sat Oct 21 18:42:45 2017 From: kshegunov at gmail.com (Konstantin Shegunov) Date: Sat, 21 Oct 2017 19:42:45 +0300 Subject: [Interest] tryLock for QSystemSemaphore In-Reply-To: <1531250.rC7CHch1Y8@tjmaciei-mobl1> References: <1531250.rC7CHch1Y8@tjmaciei-mobl1> Message-ID: On Sat, Oct 21, 2017 at 7:35 PM, Thiago Macieira wrote: > > The reason is that it was never implemented. I've just checked and both > backends could have it. > This is encouraging. Could we maybe have that implemented/added to the class for a future release? > As to what you're stuck with, we need to know what you're trying to do. > Well, I'm about to start writing autotests for a small module I've written. It's an IPC message passing wrapper (around OpenMPI) so I'd need a "concurrent" IPC sync technique to be able to test how it fares, e. g. if synchronous communication in the module is working as expected. That's why I thought I might take advantage of Qt's system sem. class. Unfortunately, `acquire()` doesn't ever free the thread it's called from, so a possible workaround I see currently is to start a thread and handle the timeout manually - releasing the system semaphore by hand if time runs out. -------------- next part -------------- An HTML attachment was scrubbed... URL: From dan at jerber.co.uk Sat Oct 21 18:45:18 2017 From: dan at jerber.co.uk (Dan Allen) Date: Sat, 21 Oct 2017 17:45:18 +0100 Subject: [Interest] QFileDialog Query In-Reply-To: References: <58f716bd-abc5-6064-36f7-4fcb0819810a@jerber.co.uk> Message-ID: Hi Guiseppe, I don't know much about GTK directly.  I had a quick look at the GTK file chooser documentation and I couldn't see anything that suggests GTK supports a default suffix.  Therefore, would that suggest this is probably a Qt issue (i.e. GTK considered it "text" against "text.txt" and therefore different but Qt has added the ".txt" afterwards and made the file name the same)? If it is a GTK issue, I'm not sure how to report it because I could only detail the issue from usage in a Qt sense.  If I report in in that way, do you think it would be acceptable? Thanks, Dan. On 21/10/17 17:25, Giuseppe D'Angelo wrote: > Il 21/10/2017 11:33, Dan Allen ha scritto: >> Hi Guiseppe, >> >> I am using the native dialog.  I've tested again after setting >> QFileDialog::DontUseNativeDialog and this does not appear to have the >> problem. > > Then please submit a bug against GTK/Ubuntu :) > > Cheers, > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Sat Oct 21 18:51:22 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Sat, 21 Oct 2017 09:51:22 -0700 Subject: [Interest] tryLock for QSystemSemaphore In-Reply-To: References: <1531250.rC7CHch1Y8@tjmaciei-mobl1> Message-ID: <8580563.bJPSoWYPWq@tjmaciei-mobl1> On Saturday, 21 October 2017 09:42:45 PDT Konstantin Shegunov wrote: > On Sat, Oct 21, 2017 at 7:35 PM, Thiago Macieira > wrote: > > The reason is that it was never implemented. I've just checked and both > > backends could have it. > > This is encouraging. Could we maybe have that implemented/added to the > class for a future release? Yes, if someone writes the code. I'm not volunteering. > > As to what you're stuck with, we need to know what you're trying to do. > > Well, I'm about to start writing autotests for a small module I've written. > It's an IPC message passing wrapper (around OpenMPI) so I'd need a > "concurrent" IPC sync technique to be able to test how it fares, e. g. if > synchronous communication in the module is working as expected. That's why > I thought I might take advantage of Qt's system sem. class. Unfortunately, > `acquire()` doesn't ever free the thread it's called from, so a possible > workaround I see currently is to start a thread and handle the timeout > manually - releasing the system semaphore by hand if time runs out. What do you mean by that? .acquire() does return (if that's what you mean by "free the thread") if there was something to be acquired. So the question back to you is why there wasn't something to be acquired? -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From googleersatz at oliverniebuhr.de Sat Oct 21 18:55:48 2017 From: googleersatz at oliverniebuhr.de (Google Ersatz) Date: Sat, 21 Oct 2017 18:55:48 +0200 Subject: [Interest] ICU 60 RC1 and Qt 5.10 In-Reply-To: <1968171.RWqjsJJbPq@tjmaciei-mobl1> References: <1968171.RWqjsJJbPq@tjmaciei-mobl1> Message-ID: <20171021165548.7086163.94386.22120@oliverniebuhr.de> Sorry @Thiago for the PM. Finger slipped to the send Button too early. The Error is simply that the Configure Tests can't find the ICU Libs.  With 59.1 it works fine. I will create a Bug Report later ‎or tomorrow (Sunday). Thanks :) Sent from a Mobile Device. Encoding Problems can happen.   Originalnachricht   Von: Thiago Macieira Gesendet: Samstag, 21. Oktober 2017 18:33 An: interest at qt-project.org Betreff: Re: [Interest] ICU 60 RC1 and Qt 5.10 On Saturday, 21 October 2017 07:38:53 PDT Oliver Niebuhr wrote: > Hello. > > Before I open a Bug Report, my Questions: > > A.) Has anyone else too problems to compile Qt 5.10 (or other Qt > Versions) with ICU 60 Release Candidate 1? > > B.) Or is this Problem already known? The most likely scenario is that you're the first and currently only person trying that combination. Assume no else one knows what the issue is because no one has seen it. And since no one besides you knows what it is and you didn't say what the error was, we're all completely ignorant as to what the issue might be. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center _______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest From kshegunov at gmail.com Sat Oct 21 19:01:26 2017 From: kshegunov at gmail.com (Konstantin Shegunov) Date: Sat, 21 Oct 2017 20:01:26 +0300 Subject: [Interest] tryLock for QSystemSemaphore In-Reply-To: <8580563.bJPSoWYPWq@tjmaciei-mobl1> References: <1531250.rC7CHch1Y8@tjmaciei-mobl1> <8580563.bJPSoWYPWq@tjmaciei-mobl1> Message-ID: On Sat, Oct 21, 2017 at 7:51 PM, Thiago Macieira wrote: > > Yes, if someone writes the code. I'm not volunteering. > Fair enough, I'll see if I can squeeze it in the future then. > What do you mean by that? .acquire() does return (if that's what you mean > by > "free the thread") if there was something to be acquired. So the question > back > to you is why there wasn't something to be acquired? > Assuming my test is failing, which would be the whole reason of writing tests to check the implementation, right, I would likely end up a situation where a sibling process waiting for a message from the root process, while at the same time the root process waits on `acquire` for the sibling process to signal the semaphore. Ultimately, I'd just end up deadlocking without a means to tell the root process to run the MPI abort routines (i.e. stop the whole MPI thing) because the root process is simply waiting on the system semaphore. That's what I mean by it "doesn't free the thread" - I'd end up with a deadlocked test program. -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Sat Oct 21 19:11:52 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Sat, 21 Oct 2017 10:11:52 -0700 Subject: [Interest] ICU 60 RC1 and Qt 5.10 In-Reply-To: <20171021165548.7086163.94386.22120@oliverniebuhr.de> References: <1968171.RWqjsJJbPq@tjmaciei-mobl1> <20171021165548.7086163.94386.22120@oliverniebuhr.de> Message-ID: <1620704.zO7bNJxBUJ@tjmaciei-mobl1> On Saturday, 21 October 2017 09:55:48 PDT Google Ersatz wrote: > Sorry @Thiago for the PM. Finger slipped to the send Button too early. > > The Error is simply that the Configure Tests can't find the ICU Libs. > With 59.1 it works fine. > > I will create a Bug Report later ‎or tomorrow (Sunday). Please include the relevant sections of config.log. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From thiago.macieira at intel.com Sat Oct 21 19:16:21 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Sat, 21 Oct 2017 10:16:21 -0700 Subject: [Interest] tryLock for QSystemSemaphore In-Reply-To: References: <8580563.bJPSoWYPWq@tjmaciei-mobl1> Message-ID: <2136740.X9uHG6Boql@tjmaciei-mobl1> On Saturday, 21 October 2017 10:01:26 PDT Konstantin Shegunov wrote: > Assuming my test is failing, which would be the whole reason of writing > tests to check the implementation, right, I would likely end up a situation > where a sibling process waiting for a message from the root process, while > at the same time the root process waits on `acquire` for the sibling > process to signal the semaphore. Ultimately, I'd just end up deadlocking > without a means to tell the root process to run the MPI abort routines > (i.e. stop the whole MPI thing) because the root process is simply waiting > on the system semaphore. That's what I mean by it "doesn't free the thread" > - I'd end up with a deadlocked test program. Ah, I see your issue. In this case, I'd just have the test harness kill the processes that deadlocked and report the failure. The Qt Continuous Integration system has a timeout of 15 minutes for any test, except tst_QNetworkReply (that one is allowed to run for longer). That way, we don't depend on any internal state being consistent. Like you said, in the case of a failing test, quite by definition the internal state of the application is not what we expected it to be. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From giuseppe.dangelo at kdab.com Sat Oct 21 19:16:31 2017 From: giuseppe.dangelo at kdab.com (Giuseppe D'Angelo) Date: Sat, 21 Oct 2017 19:16:31 +0200 Subject: [Interest] QFileDialog Query In-Reply-To: References: <58f716bd-abc5-6064-36f7-4fcb0819810a@jerber.co.uk> Message-ID: Il 21/10/2017 18:45, Dan Allen ha scritto: > I don't know much about GTK directly.  I had a quick look at the GTK > file chooser documentation and I couldn't see anything that suggests GTK > supports a default suffix.  Therefore, would that suggest this is > probably a Qt issue (i.e. GTK considered it "text" against "text.txt" > and therefore different but Qt has added the ".txt" afterwards and made > the file name the same)? > > If it is a GTK issue, I'm not sure how to report it because I could only > detail the issue from usage in a Qt sense.  If I report in in that way, > do you think it would be acceptable? I've just did a quick test here, and with the GTK dialog, inputting "test" just returns "test" _without_ the .txt extension. Could you please write down a minimal testcase? (Should be nothing more than a main.cpp and 40 lines of code.) -- Giuseppe D'Angelo | giuseppe.dangelo at kdab.com | Senior Software Engineer KDAB (UK) Ltd., a KDAB Group company | Tel: UK +44-1625-809908 KDAB - Qt, C++ and OpenGL Experts -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 4007 bytes Desc: Firma crittografica S/MIME URL: From googleersatz at oliverniebuhr.de Sat Oct 21 19:34:34 2017 From: googleersatz at oliverniebuhr.de (Google Ersatz) Date: Sat, 21 Oct 2017 19:34:34 +0200 Subject: [Interest] ICU 60 RC1 and Qt 5.10 In-Reply-To: <1620704.zO7bNJxBUJ@tjmaciei-mobl1> References: <1968171.RWqjsJJbPq@tjmaciei-mobl1> <20171021165548.7086163.94386.22120@oliverniebuhr.de> <1620704.zO7bNJxBUJ@tjmaciei-mobl1> Message-ID: <20171021173434.7086163.55692.22126@oliverniebuhr.de> ‎Of course I will. Not my first Bug Report. Forgetting to mention the Error earlier was just because no weekend this weekend and brain needs a break :) Sent from a Mobile Device. Encoding Problems can happen.   Originalnachricht   Von: Thiago Macieira Gesendet: Samstag, 21. Oktober 2017 19:12 An: interest at qt-project.org Cc: Google Ersatz Betreff: Re: [Interest] ICU 60 RC1 and Qt 5.10 On Saturday, 21 October 2017 09:55:48 PDT Google Ersatz wrote: > Sorry @Thiago for the PM. Finger slipped to the send Button too early. > > The Error is simply that the Configure Tests can't find the ICU Libs. > With 59.1 it works fine. > > I will create a Bug Report later ‎or tomorrow (Sunday). Please include the relevant sections of config.log. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From kshegunov at gmail.com Sat Oct 21 20:25:43 2017 From: kshegunov at gmail.com (Konstantin Shegunov) Date: Sat, 21 Oct 2017 21:25:43 +0300 Subject: [Interest] tryLock for QSystemSemaphore In-Reply-To: <2136740.X9uHG6Boql@tjmaciei-mobl1> References: <8580563.bJPSoWYPWq@tjmaciei-mobl1> <2136740.X9uHG6Boql@tjmaciei-mobl1> Message-ID: On Sat, Oct 21, 2017 at 8:16 PM, Thiago Macieira wrote: > > In this case, I'd just have the test harness kill the processes that > deadlocked and report the failure. > Alright, I'll take it under advisement. The Qt Continuous Integration system has a timeout of 15 minutes for any > test, > except tst_QNetworkReply (that one is allowed to run for longer). That > way, we > don't depend on any internal state being consistent. Like you said, in the > case of a failing test, quite by definition the internal state of the > application is not what we expected it to be. > Ok, I'll have a look at that to see how it was implemented for the network classes, it should be pretty similar to what I need to do. Thanks for the input Thiago, much appreciated! -------------- next part -------------- An HTML attachment was scrubbed... URL: From dan at jerber.co.uk Sat Oct 21 20:39:30 2017 From: dan at jerber.co.uk (Dan Allen) Date: Sat, 21 Oct 2017 19:39:30 +0100 Subject: [Interest] QFileDialog Query In-Reply-To: References: <58f716bd-abc5-6064-36f7-4fcb0819810a@jerber.co.uk> Message-ID: Hi Guiseppe, Here is a quick test case: #include #include #include int main(int argc, char *argv[]) {     QApplication a(argc, argv);     QString savePath = QDir::homePath();     savePath.append("/text.txt");     QFile saveFile(savePath);     if(!saveFile.exists())     {         saveFile.open(QFile::WriteOnly);         saveFile.close();     }     QFileDialog fileDialog;     fileDialog.setFileMode(QFileDialog::AnyFile);     fileDialog.setAcceptMode(QFileDialog::AcceptSave);     fileDialog.setDirectory(QDir::homePath());     fileDialog.setDefaultSuffix("txt");     fileDialog.setNameFilter("Text (*.txt)");     switch(fileDialog.exec())     {         case QDialog::Accepted:         {             QString selectedFile = fileDialog.selectedFiles().at(0);             qDebug() << "Selected File:" << selectedFile;             break;         }     }     return 0; } This creates a file "text.txt" in the home folder.  When the file dialog opens, if you enter "text" in the textbox and click save, the file dialog returns "text.txt" even though the file already exists (and doesn't request a confirmation to overwrite). Thanks, Dan. On 21/10/17 18:16, Giuseppe D'Angelo wrote: > Il 21/10/2017 18:45, Dan Allen ha scritto: >> I don't know much about GTK directly.  I had a quick look at the GTK >> file chooser documentation and I couldn't see anything that suggests >> GTK supports a default suffix.  Therefore, would that suggest this is >> probably a Qt issue (i.e. GTK considered it "text" against "text.txt" >> and therefore different but Qt has added the ".txt" afterwards and >> made the file name the same)? >> >> If it is a GTK issue, I'm not sure how to report it because I could >> only detail the issue from usage in a Qt sense.  If I report in in >> that way, do you think it would be acceptable? > > I've just did a quick test here, and with the GTK dialog, inputting > "test" just returns "test" _without_ the .txt extension. Could you > please write down a minimal testcase? (Should be nothing more than a > main.cpp and 40 lines of code.) > > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From flamaros.xavier at gmail.com Sun Oct 22 00:15:32 2017 From: flamaros.xavier at gmail.com (Xavier Bigand) Date: Sun, 22 Oct 2017 00:15:32 +0200 Subject: [Interest] [Qt3D] Mixing C++ and QML In-Reply-To: References: Message-ID: Hello Sean, I don't really understand how to use QAbstractNodeFactory::createNode("QEntity") and it seems to be a part of private API which I prefer to avoid. But I found a simpler way, I have created a Class that inherit QEntity and in the constructor I simply set the it as parent of the other C++ QEntity that is the root of my elements. I am not really confortable to attach elements by the parent, I used to do it with children (but in Qt3D API we can't modify the children list). *C++* SceneEntity::SceneEntity(QNode* parent) : QEntity(parent) { if (Scene::singleton()->rootEntity() == nullptr) Scene::singleton()->initialize(); Scene::singleton()->rootEntity()->setParent(this); } *QML* Scene3D { id: scene3D focus: true aspects: ["input", "logic"] cameraAspectRatioMode: Scene3D.AutomaticAspectRatio Entity { Camera { id: camera projectionType: CameraLens.PerspectiveProjection fieldOfView: 70.0 nearPlane : 0.2 farPlane : 100.0 position: Qt.vector3d(2.0, -10.0, 10.) upVector: Qt.vector3d(0.0, 0.0, 1.0) viewCenter: Qt.vector3d(0.0, 0.0, 0.0) } OrbitCameraController { camera: camera zoomInLimit: 2.0 linearSpeed: 50.0 lookSpeed: 180.0 } components: [ RenderSettings { activeFrameGraph: ForwardRenderer { camera: camera clearColor: Qt.rgba(64 / 255, 128 / 255, 128 / 255, 255 / 255) } }, InputSettings { } ] GeoScene { // Attach the entities tree } } But now as objects can have only one parent, I am asking myself how I can render the same scene in different items. I want to have the same scene with different cameras and rendering effects in distinct docks or views. May I have some other Scene3D that use camera of an other one? Here is a capture of what I have actually: http://hpics.li/75ae344 I want to see the same scene (colored axis) in two other scenes. Maybe the solution is to render all viewports in one scene off screen, then display them separately after, but in this way it will be complicated to manage inputs for the camera. 2017-10-19 18:06 GMT+02:00 Sean Harmer : > Hi, > > you've hit one of the issues we did with exposing C++ and QML APIs. > Namely, QQmlListProperty. This thing should ideally never have existed and > instead support for properties of collections should have been added to > QObject and the metaobject system. > > To avoid pulling in a QtQml dependency in the C++ API, we instead have > another layer to add the QML specifics (pretty much entirely list > properties). > > In order to create these from code we have a factory. Try something like: > > QAbstractNodeFactory::createNode("QEntity") > > If using just C++ you will get a standard QEntity. If using QML (and the > types are registered with the factory) you will get the QML -enhanced > version with the extension object that handles the list properties. > > We use this for e.g. in the renderer's SkeletonLoader class to create > QJoints for the frontend tree. > > Cheers, > > Sean > > On 19/10/2017 16:40, Xavier Bigand wrote: > >> The issue is that QEntity doesn't reflect directly the qml type Entity, >> this is the same for many Qt3D classes. >> >> Here is the declaration of QEntity from qentity.h >> >> class QT3DCORESHARED_EXPORT QEntity : public QNode >> >> { >> >> Q_OBJECT >> >> public: >> >> explicit QEntity(QNode *parent = nullptr); >> >> virtual ~QEntity(); >> >> >> QComponentVector components() const; >> >> >> void addComponent(QComponent *comp); >> >> void removeComponent(QComponent *comp); >> >> >> QEntity *parentEntity() const; >> >> >> protected: >> >> explicit QEntity(QEntityPrivate &dd, QNode *parent = nullptr); >> >> >> private: >> >> Q_DECLARE_PRIVATE(QEntity) >> >> >> QNodeCreatedChangeBasePtr createNodeCreationChange() const >> Q_DECL_OVERRIDE; >> >> }; >> >> >> >> As you can see the method addComponent is not virtual and exported as >> Q_PROPERTY, so when creating a derived class of QEntity when instanced in >> qml it doesn't inherited of Entity properties. >> >> >> >> >> 2017-10-19 15:44 GMT+02:00 Jason H > >>: >> >> > I am looking for a way to manage an Entity tree in C++ and the >> Scene configuration in QML. My C++ code manage entities from a root node >> and I want to move the Frame graph and camera management,... to qml. >> > I can't figure out how to do that because if create a class that >> derive from QEntity some properties of Entity aren't declared like >> "components". >> > >> > My goal is to have an object hierarchy made with QEntity in c++ and >> dynamic views on it made in QML. Scene views should be dockable,... >> >> >> This is well-documented. QEntity inherits from QObject so you are >> good. I'm not sure what you mean by "like components". Public >> properties, signals and slots are visible to QML. If not it's a >> simple matter of wrapping them in a public one. >> >> http://doc.qt.io/qt-5/qtqml-cppintegration-topic.html >> >> >> >> >> >> >> >> -- >> Xavier >> >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest >> >> > -- > Dr Sean Harmer | sean.harmer at kdab.com | Managing Director UK > KDAB (UK) Ltd, a KDAB Group company > Tel. +44 (0)1625 809908; Sweden (HQ) +46-563-540090 > Mobile: +44 (0)7545 140604 > KDAB - Qt Experts > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -- Xavier -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Sun Oct 22 01:26:15 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Sat, 21 Oct 2017 16:26:15 -0700 Subject: [Interest] tryLock for QSystemSemaphore In-Reply-To: References: <2136740.X9uHG6Boql@tjmaciei-mobl1> Message-ID: <4828844.86x1vpRt8P@tjmaciei-mobl1> On Saturday, 21 October 2017 11:25:43 PDT Konstantin Shegunov wrote: > The Qt Continuous Integration system has a timeout of 15 minutes for any > > > test, > > except tst_QNetworkReply (that one is allowed to run for longer). That > > way, we > > don't depend on any internal state being consistent. Like you said, in the > > case of a failing test, quite by definition the internal state of the > > application is not what we expected it to be. > > Ok, I'll have a look at that to see how it was implemented for the network > classes, it should be pretty similar to what I need to do. > Thanks for the input Thiago, much appreciated! It's implemented for all classes. The harness is not part of QtTest: it's the set of tools that run the applications. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From kshegunov at gmail.com Sun Oct 22 01:36:52 2017 From: kshegunov at gmail.com (Konstantin Shegunov) Date: Sun, 22 Oct 2017 02:36:52 +0300 Subject: [Interest] tryLock for QSystemSemaphore In-Reply-To: <4828844.86x1vpRt8P@tjmaciei-mobl1> References: <2136740.X9uHG6Boql@tjmaciei-mobl1> <4828844.86x1vpRt8P@tjmaciei-mobl1> Message-ID: On Sun, Oct 22, 2017 at 2:26 AM, Thiago Macieira wrote: > It's implemented for all classes. The harness is not part of QtTest: it's > the > set of tools that run the applications. > I didn't mean to imply the contrary. Sorry, in hindsight it's obvious I phrased my writing pretty badly. I meant that the test(s) I need to write should be quite similar to what you have for the network classes and I'd look them up for inspiration, nothing more. -------------- next part -------------- An HTML attachment was scrubbed... URL: From roland at logikalsolutions.com Sun Oct 22 11:35:11 2017 From: roland at logikalsolutions.com (Roland Hughes) Date: Sun, 22 Oct 2017 04:35:11 -0500 Subject: [Interest] Status: Incomplete In-Reply-To: <150864585284.30249.12762476550149221400.malone@loganberry.canonical.com> References: <150864585284.30249.12762476550149221400.malone@loganberry.canonical.com> Message-ID: <2269c9a5-47ae-f3e3-514f-a39efcf03375@logikalsolutions.com> Nothing to do with Qt but given our previous given out previous conversation on how OpenSource bugs are left to rot then mass exterminated, this one just showed up in my inbox this morning. It's noteworthy because, yet again, to avoid working on something the maintainer flagged the report "Incomplete." Given the amount of detail in the report the "incomplete" status is laughable but an all too common trick. -------- Forwarded Message -------- Subject: [Bug 1434570] Re: 64-bit BOINC crashes with ever NVidia driver Date: Sun, 22 Oct 2017 04:17:32 -0000 From: Launchpad Bug Tracker <1434570 at bugs.launchpad.net> Reply-To: Bug 1434570 <1434570 at bugs.launchpad.net> To: roland at logikalsolutions.com [Expired for boinc (Ubuntu) because there has been no activity for 60 days.] ** Changed in: boinc (Ubuntu) Status: Incomplete => Expired -- You received this bug notification because you are subscribed to the bug report. https://bugs.launchpad.net/bugs/1434570 Title: 64-bit BOINC crashes with ever NVidia driver Status in Linux Mint: Expired Status in boinc package in Ubuntu: Expired Bug description: Linux Mint 17 'Qiana' KDE 64-bit BOINC cannot identify CUDA with any of the NVidia drivers unless one manually installs the backported nvidia-modprobe. 32-bit version does not have this problem. In fact the 32-bit versions of things work flawlessly. 64-bit appears to have never been tested. Install BOINC. Install Nvidia 331 driver Reboot. Launch BOINC manager select advanced view, Advanced->Event Log Scroll back to the top and you will see a line stating something like "no useable CUDA found. Click on the little blue start button in the lower left corner. In the little search bar at the top type "sour" and you should see an option for "Software Sources" appear. Click it. Click the "Additional repositories" button on left. Click the "Add a new repository" button at bottom. paste in the following: deb http://archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse Click "Ok" Click the "update" or "refresh" button on upper right side of screen. (This will be greyed out with "No action required" until you actually add something and I don't remember what the text chagnes to.) Exit out of all windows. Click on the little blue start button in the lower left corner. Applications->System->Synaptic Package Manager Enter password when prompted. After the index finishes updating type "modpro" in the "Quick filter" field Mark nvidia-modprobe for installation, then click "Apply changes" Exit everything and reboot Open your BOINC manager. Click Advanced->Event Log Scroll to top of log (it always shows last entry when it opens) You should see something like: Tue 10 Mar 2015 06:35:09 AM CDT | | CUDA: NVIDIA GPU 0: GeForce GT 630 (driver version unknown, CUDA version 6.0, compute capability 3.5, 2047MB, 1973MB available, 692 GFLOPS peak) near the beginning. Now, be sure to subscribe to Einstein at Home (other projects do use CUDA, but I know this one uses it heavy and makes the problem happen.) With the base 331 driver you can go for quite a few hours before machine starts getting slow. If left with manager up over night most mornings will display "NVidia Crash". This will be displayed by one of two conditions. 1) Mouse will move on screen but nothing will respond. SSH in from another machine and terminal applications seem to run. 2) You will wiggle the mouse and notice screens don't come out of darked out mode. Looking down at the keyboard you will notice the 3 indicator lights turning on and off in sequence. Installing 331-updates driver will let your computer operate less than half a day. Installing any of the 34x drivers out of edgers PPA will have you crashing many times per day. Note: with the 32-bit version you simply install BOINC, install 331 driver, reboot, and everything is flawless. This bug is 64-bit specific. If you visit this thread: http://boinc.berkeley.edu/dev/forum_thread.php?id=10046&postid=61102#61102 you will see the desktop does not matter. Whether beautiful KDE or one of the Gicky-Gnasty-Gnome desktops is used one achieves the same results. To manage notifications about this bug go to: https://bugs.launchpad.net/linuxmint/+bug/1434570/+subscriptions -------------- next part -------------- An HTML attachment was scrubbed... URL: From Jake.Petroules at qt.io Sun Oct 22 11:39:01 2017 From: Jake.Petroules at qt.io (Jake Petroules) Date: Sun, 22 Oct 2017 09:39:01 +0000 Subject: [Interest] Status: Incomplete In-Reply-To: <2269c9a5-47ae-f3e3-514f-a39efcf03375@logikalsolutions.com> References: <150864585284.30249.12762476550149221400.malone@loganberry.canonical.com> <2269c9a5-47ae-f3e3-514f-a39efcf03375@logikalsolutions.com> Message-ID: <1C19B159-BB97-4F79-AECD-2AF07016E3D7@qt.io> >From a cursory overview, it seems that the issue was assumed to not be reproducible anymore, and no one reported to the contrary. What more do you want? > On Oct 22, 2017, at 11:35 AM, Roland Hughes wrote: > > Nothing to do with Qt but given our previous given out previous conversation on how OpenSource bugs are left to rot then mass exterminated, this one just showed up in my inbox this morning. It's noteworthy because, yet again, to avoid working on something the maintainer flagged the report "Incomplete." Given the amount of detail in the report the "incomplete" status is laughable but an all too common trick. > > > -------- Forwarded Message -------- > Subject: [Bug 1434570] Re: 64-bit BOINC crashes with ever NVidia driver > Date: Sun, 22 Oct 2017 04:17:32 -0000 > From: Launchpad Bug Tracker <1434570 at bugs.launchpad.net> > Reply-To: Bug 1434570 <1434570 at bugs.launchpad.net> > To: roland at logikalsolutions.com > > [Expired for boinc (Ubuntu) because there has been no activity for 60 > days.] > > ** Changed in: boinc (Ubuntu) > Status: Incomplete => Expired > > -- > You received this bug notification because you are subscribed to the bug > report. > > https://bugs.launchpad.net/bugs/1434570 > > > Title: > 64-bit BOINC crashes with ever NVidia driver > > Status in Linux Mint: > Expired > Status in boinc package in Ubuntu: > Expired > > Bug description: > Linux Mint 17 'Qiana' KDE 64-bit > > BOINC cannot identify CUDA with any of the NVidia drivers unless one > manually installs the backported nvidia-modprobe. 32-bit version does > not have this problem. In fact the 32-bit versions of things work > flawlessly. 64-bit appears to have never been tested. > > Install BOINC. > Install Nvidia 331 driver > Reboot. > Launch BOINC manager select advanced view, Advanced->Event Log > Scroll back to the top and you will see a line stating something like "no useable CUDA found. > > Click on the little blue start button in the lower left corner. > > In the little search bar at the top type "sour" and you should see an > option for "Software Sources" appear. Click it. > > Click the "Additional repositories" button on left. > > Click the "Add a new repository" button at bottom. > > paste in the following: > > deb > http://archive.ubuntu.com/ubuntu > trusty-backports main restricted > universe multiverse > > Click "Ok" > > Click the "update" or "refresh" button on upper right side of screen. > (This will be greyed out with "No action required" until you actually > add something and I don't remember what the text chagnes to.) > > Exit out of all windows. > > Click on the little blue start button in the lower left corner. > > Applications->System->Synaptic Package Manager > > Enter password when prompted. > > After the index finishes updating type "modpro" in the "Quick filter" > field > > Mark nvidia-modprobe for installation, then click "Apply changes" > > Exit everything and reboot > > Open your BOINC manager. > > Click Advanced->Event Log > > Scroll to top of log (it always shows last entry when it opens) You > should see something like: > > Tue 10 Mar 2015 06:35:09 AM CDT | | CUDA: NVIDIA GPU 0: GeForce GT 630 > (driver version unknown, CUDA version 6.0, compute capability 3.5, > 2047MB, 1973MB available, 692 GFLOPS peak) > > near the beginning. > > Now, be sure to subscribe to Einstein at Home (other projects do use > CUDA, but I know this one uses it heavy and makes the problem happen.) > > With the base 331 driver you can go for quite a few hours before > machine starts getting slow. If left with manager up over night most > mornings will display "NVidia Crash". This will be displayed by one > of two conditions. > > 1) Mouse will move on screen but nothing will respond. SSH in from > another machine and terminal applications seem to run. > > 2) You will wiggle the mouse and notice screens don't come out of > darked out mode. Looking down at the keyboard you will notice the 3 > indicator lights turning on and off in sequence. > > Installing 331-updates driver will let your computer operate less than > half a day. > > Installing any of the 34x drivers out of edgers PPA will have you > crashing many times per day. > > > Note: with the 32-bit version you simply install BOINC, install 331 driver, reboot, and everything is flawless. This bug is 64-bit specific. If you visit this thread: > > http://boinc.berkeley.edu/dev/forum_thread.php?id=10046&postid=61102#61102 > > you will see the desktop does not matter. Whether beautiful KDE or one of the Gicky-Gnasty-Gnome desktops is used one achieves the same results. > > To manage notifications about this bug go to: > > https://bugs.launchpad.net/linuxmint/+bug/1434570/+subscriptions > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -- Jake Petroules - jake.petroules at qt.io The Qt Company - Silicon Valley Qbs build tool evangelist - qbs.io From roland at logikalsolutions.com Sun Oct 22 11:45:31 2017 From: roland at logikalsolutions.com (Roland Hughes) Date: Sun, 22 Oct 2017 04:45:31 -0500 Subject: [Interest] Status: Incomplete In-Reply-To: <1C19B159-BB97-4F79-AECD-2AF07016E3D7@qt.io> References: <150864585284.30249.12762476550149221400.malone@loganberry.canonical.com> <2269c9a5-47ae-f3e3-514f-a39efcf03375@logikalsolutions.com> <1C19B159-BB97-4F79-AECD-2AF07016E3D7@qt.io> Message-ID: <3ec3ba15-f14c-5f7b-329f-f221db5ff4b3@logikalsolutions.com> With that version of Mint it was 100% reproducable and there was a long list of people on the BOINC forum victimized by it. The problem was never fixed in Mint 17 64-bit. Most of us ended up identifying one 64-bit distribution where a certain combination of things could get it to work and jumping ship on Mint all together. I had 4 machines running it, scratch that, 5. I have none running it now and I no longer make any monetary donations to Mint, which I was pretty religious about doing previously. On 10/22/2017 04:39 AM, Jake Petroules wrote: > From a cursory overview, it seems that the issue was assumed to not be reproducible anymore, and no one reported to the contrary. > > What more do you want? > >> On Oct 22, 2017, at 11:35 AM, Roland Hughes wrote: >> >> Nothing to do with Qt but given our previous given out previous conversation on how OpenSource bugs are left to rot then mass exterminated, this one just showed up in my inbox this morning. It's noteworthy because, yet again, to avoid working on something the maintainer flagged the report "Incomplete." Given the amount of detail in the report the "incomplete" status is laughable but an all too common trick. >> >> >> -------- Forwarded Message -------- >> Subject: [Bug 1434570] Re: 64-bit BOINC crashes with ever NVidia driver >> Date: Sun, 22 Oct 2017 04:17:32 -0000 >> From: Launchpad Bug Tracker <1434570 at bugs.launchpad.net> >> Reply-To: Bug 1434570 <1434570 at bugs.launchpad.net> >> To: roland at logikalsolutions.com >> >> [Expired for boinc (Ubuntu) because there has been no activity for 60 >> days.] >> >> ** Changed in: boinc (Ubuntu) >> Status: Incomplete => Expired >> >> -- >> You received this bug notification because you are subscribed to the bug >> report. >> >> https://bugs.launchpad.net/bugs/1434570 >> >> >> Title: >> 64-bit BOINC crashes with ever NVidia driver >> >> Status in Linux Mint: >> Expired >> Status in boinc package in Ubuntu: >> Expired >> >> Bug description: >> Linux Mint 17 'Qiana' KDE 64-bit >> >> BOINC cannot identify CUDA with any of the NVidia drivers unless one >> manually installs the backported nvidia-modprobe. 32-bit version does >> not have this problem. In fact the 32-bit versions of things work >> flawlessly. 64-bit appears to have never been tested. >> >> Install BOINC. >> Install Nvidia 331 driver >> Reboot. >> Launch BOINC manager select advanced view, Advanced->Event Log >> Scroll back to the top and you will see a line stating something like "no useable CUDA found. >> >> Click on the little blue start button in the lower left corner. >> >> In the little search bar at the top type "sour" and you should see an >> option for "Software Sources" appear. Click it. >> >> Click the "Additional repositories" button on left. >> >> Click the "Add a new repository" button at bottom. >> >> paste in the following: >> >> deb >> http://archive.ubuntu.com/ubuntu >> trusty-backports main restricted >> universe multiverse >> >> Click "Ok" >> >> Click the "update" or "refresh" button on upper right side of screen. >> (This will be greyed out with "No action required" until you actually >> add something and I don't remember what the text chagnes to.) >> >> Exit out of all windows. >> >> Click on the little blue start button in the lower left corner. >> >> Applications->System->Synaptic Package Manager >> >> Enter password when prompted. >> >> After the index finishes updating type "modpro" in the "Quick filter" >> field >> >> Mark nvidia-modprobe for installation, then click "Apply changes" >> >> Exit everything and reboot >> >> Open your BOINC manager. >> >> Click Advanced->Event Log >> >> Scroll to top of log (it always shows last entry when it opens) You >> should see something like: >> >> Tue 10 Mar 2015 06:35:09 AM CDT | | CUDA: NVIDIA GPU 0: GeForce GT 630 >> (driver version unknown, CUDA version 6.0, compute capability 3.5, >> 2047MB, 1973MB available, 692 GFLOPS peak) >> >> near the beginning. >> >> Now, be sure to subscribe to Einstein at Home (other projects do use >> CUDA, but I know this one uses it heavy and makes the problem happen.) >> >> With the base 331 driver you can go for quite a few hours before >> machine starts getting slow. If left with manager up over night most >> mornings will display "NVidia Crash". This will be displayed by one >> of two conditions. >> >> 1) Mouse will move on screen but nothing will respond. SSH in from >> another machine and terminal applications seem to run. >> >> 2) You will wiggle the mouse and notice screens don't come out of >> darked out mode. Looking down at the keyboard you will notice the 3 >> indicator lights turning on and off in sequence. >> >> Installing 331-updates driver will let your computer operate less than >> half a day. >> >> Installing any of the 34x drivers out of edgers PPA will have you >> crashing many times per day. >> >> >> Note: with the 32-bit version you simply install BOINC, install 331 driver, reboot, and everything is flawless. This bug is 64-bit specific. If you visit this thread: >> >> http://boinc.berkeley.edu/dev/forum_thread.php?id=10046&postid=61102#61102 >> >> you will see the desktop does not matter. Whether beautiful KDE or one of the Gicky-Gnasty-Gnome desktops is used one achieves the same results. >> >> To manage notifications about this bug go to: >> >> https://bugs.launchpad.net/linuxmint/+bug/1434570/+subscriptions >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest -- Roland Hughes, President Logikal Solutions (630)-205-1593 http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.johnsmith-book.com http://www.logikalblog.com http://www.interestingauthors.com/blog http://lesedi.us/ http://onedollarcontentstore.com From Ch.Ehrlicher at gmx.de Sun Oct 22 12:48:12 2017 From: Ch.Ehrlicher at gmx.de (Christian Ehrlicher) Date: Sun, 22 Oct 2017 12:48:12 +0200 Subject: [Interest] Unescape hex escaped values in a QString Message-ID: Hi, Is there a Qt-way to decode hex escaped values in a QString? In bug 61420 the udev filename in /dev/disk/by-label/ is encoded with ID_FS_LABEL_ENC which means all non-latin1 characters are hex-escaped. But since QFileInfo::fileName() already returns a QString I can't use QString::fromUtf8() to do an 'automatic' conversion... Thx, Christian From jeffrey.brendecke at gmail.com Sun Oct 22 14:21:30 2017 From: jeffrey.brendecke at gmail.com (Jeffrey Brendecke) Date: Sun, 22 Oct 2017 14:21:30 +0200 Subject: [Interest] Compiling the latest Qt versions post-5.10 In-Reply-To: <25F1B239-454A-4EDC-9A5E-E6EBE04C3E6B@gmail.com> References: <25F1B239-454A-4EDC-9A5E-E6EBE04C3E6B@gmail.com> Message-ID: <701B478D-7FE6-4B36-9ACB-2E178BD64031@gmail.com> > On 21. Oct 2017, at 15:56, Jeffrey Brendecke wrote: > > Is it possible to access the latest development branches for Qt versions after 5.10? > > If so, where do I get the source and are there compilation/installation instructions beyond what is found here: > > https://wiki.qt.io/Building_Qt_5_from_Git > The process for cloning and checking out the dev branch goes fine until qtnetworkauth. At that point I am consistently prompted to authenticate, which does not succeed with my GitHub account. Do I need to be registered anywhere as a user in order to get access? I just want read-only access at this time. $ git clone https://github.com/qtproject/qt5.git --branch dev $ cd qt5 $ git checkout dev $ perl init-repository --module-subset=default,-qtwebkit,-qtwebkit-examples,-qtwebengine Error message: + git clone --no-checkout https://github.com/qtproject/qtnetworkauth.git qtnetworkauth Cloning into 'qtnetworkauth'... Username for 'https://github.com': XXXX Password for 'https://XXXX at github.com': remote: Invalid username or password. fatal: Authentication failed for 'https://github.com/qtproject/qtnetworkauth.git/' git clone --no-checkout https://github.com/qtproject/qtnetworkauth.git qtnetworkauth exited with status 32768 at init-repository line 198. Qt::InitRepository::exe('Qt::InitRepository=HASH(0x7f89f2803ff0)', 'git', 'clone', '--no-checkout', 'https://github.com/qtproject/qtnetworkauth.git', 'qtnetworkauth') called at init-repository line 534 Qt::InitRepository::git_clone_one_submodule('Qt::InitRepository=HASH(0x7f89f2803ff0)', 'qtnetworkauth', 'qtnetworkauth.git', 0) called at init-repository line 407 Qt::InitRepository::git_clone_all_submodules('Qt::InitRepository=HASH(0x7f89f2803ff0)', 'qt5', 0, 'preview', 'essential', 'addon', 'deprecated', '-qtwebkit', '-qtwebkit-examples', ...) called at init-repository line 644 Qt::InitRepository::run('Qt::InitRepository=HASH(0x7f89f2803ff0)') called at init-repository line 655 -------------- next part -------------- An HTML attachment was scrubbed... URL: From szehowe.koh at gmail.com Sun Oct 22 15:42:25 2017 From: szehowe.koh at gmail.com (Sze Howe Koh) Date: Sun, 22 Oct 2017 21:42:25 +0800 Subject: [Interest] Compiling the latest Qt versions post-5.10 In-Reply-To: <701B478D-7FE6-4B36-9ACB-2E178BD64031@gmail.com> References: <25F1B239-454A-4EDC-9A5E-E6EBE04C3E6B@gmail.com> <701B478D-7FE6-4B36-9ACB-2E178BD64031@gmail.com> Message-ID: On 22 October 2017 at 20:21, Jeffrey Brendecke wrote: > > On 21. Oct 2017, at 15:56, Jeffrey Brendecke > wrote: > > Is it possible to access the latest development branches for Qt versions > after 5.10? > > If so, where do I get the source and are there compilation/installation > instructions beyond what is found here: > > https://wiki.qt.io/Building_Qt_5_from_Git > > > The process for cloning and checking out the dev branch goes fine until > qtnetworkauth. At that point I am consistently prompted to authenticate, > which does not succeed with my GitHub account. > > Do I need to be registered anywhere as a user in order to get access? I just > want read-only access at this time. > > $ git clone https://github.com/qtproject/qt5.git --branch dev No registration is required. === EXPLANATION === Some time ago, the libraries moved from https://github.com/qtproject/ to https://github.com/qt/. So, https://github.com/qtproject/qt5.git now redirects to https://github.com/qt/qt5.git (try it in your web browser). GitHub takes care of the redirection when you clone. However, Qt Network Authorization is a much newer module. It never existed under the old qtproject account, so a redirection doesn't exist. You can go to https://github.com/qt/qtnetworkauth.git, but https://github.com/qtproject/qtnetworkauth.git gives error 404. === SOLUTION === If you edit your the qt5/.git/config file and set remote "origin" to https://github.com/qt/qt5.git, you should be able to run the init-repository script again. (You might need to use the --force option) If all that is too hard, you can also delete everything, clone https://code.qt.io/qt/qt5.git (as recommended by the wiki), and run init-repository from scratch. > $ cd qt5 > $ git checkout dev > $ perl init-repository > --module-subset=default,-qtwebkit,-qtwebkit-examples,-qtwebengine > > Error message: > + git clone --no-checkout https://github.com/qtproject/qtnetworkauth.git > qtnetworkauth > Cloning into 'qtnetworkauth'... > Username for 'https://github.com': XXXX > Password for 'https://XXXX at github.com': > remote: Invalid username or password. > fatal: Authentication failed for > 'https://github.com/qtproject/qtnetworkauth.git/' > git clone --no-checkout https://github.com/qtproject/qtnetworkauth.git > qtnetworkauth exited with status 32768 at init-repository line 198. > Qt::InitRepository::exe('Qt::InitRepository=HASH(0x7f89f2803ff0)', 'git', > 'clone', '--no-checkout', 'https://github.com/qtproject/qtnetworkauth.git', > 'qtnetworkauth') called at init-repository line 534 > Qt::InitRepository::git_clone_one_submodule('Qt::InitRepository=HASH(0x7f89f2803ff0)', > 'qtnetworkauth', 'qtnetworkauth.git', 0) called at init-repository line 407 > Qt::InitRepository::git_clone_all_submodules('Qt::InitRepository=HASH(0x7f89f2803ff0)', > 'qt5', 0, 'preview', 'essential', 'addon', 'deprecated', '-qtwebkit', > '-qtwebkit-examples', ...) called at init-repository line 644 > Qt::InitRepository::run('Qt::InitRepository=HASH(0x7f89f2803ff0)') called at > init-repository line 655 Regards, Sze-Howe From thiago.macieira at intel.com Sun Oct 22 18:38:06 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Sun, 22 Oct 2017 09:38:06 -0700 Subject: [Interest] Unescape hex escaped values in a QString In-Reply-To: References: Message-ID: <2211413.RPnxLUPjWr@tjmaciei-mobl1> On Sunday, 22 October 2017 03:48:12 PDT Christian Ehrlicher wrote: > Hi, > > Is there a Qt-way to decode hex escaped values in a QString? In bug > 61420 the udev filename in /dev/disk/by-label/ is encoded with > ID_FS_LABEL_ENC which means all non-latin1 characters are hex-escaped. > But since QFileInfo::fileName() already returns a QString I can't use > QString::fromUtf8() to do an 'automatic' conversion... Hmm... I see what you want. First of all, use QStorageInfo. Second, QStorageInfo has the same problem that you're asking about. I tries to guess filesystem labels by looking up the symlink in /dev/disks/by-label that points to the device in question, but it has no decoding function: if (fileInfo.isSymLink() && fileInfo.symLinkTarget() == devicePath) return fileInfo.fileName(); There's no function to decode this in QString or QByteArray for that matter. This has nothing to do with fromUtf8(). The decoding has to be done manually. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From Ch.Ehrlicher at gmx.de Sun Oct 22 19:17:50 2017 From: Ch.Ehrlicher at gmx.de (Christian Ehrlicher) Date: Sun, 22 Oct 2017 19:17:50 +0200 Subject: [Interest] Unescape hex escaped values in a QString In-Reply-To: <2211413.RPnxLUPjWr@tjmaciei-mobl1> References: <2211413.RPnxLUPjWr@tjmaciei-mobl1> Message-ID: Am 22.10.2017 um 18:38 schrieb Thiago Macieira: > There's no function to decode this in QString or QByteArray for that matter. > This has nothing to do with fromUtf8(). > > The decoding has to be done manually. Thx for the information, decoding should be easy. I just did not want to reinvent the wheel in case qt already provided something for this :) Christian From giuseppe.dangelo at kdab.com Sun Oct 22 20:07:43 2017 From: giuseppe.dangelo at kdab.com (Giuseppe D'Angelo) Date: Sun, 22 Oct 2017 20:07:43 +0200 Subject: [Interest] Compiling the latest Qt versions post-5.10 In-Reply-To: <701B478D-7FE6-4B36-9ACB-2E178BD64031@gmail.com> References: <25F1B239-454A-4EDC-9A5E-E6EBE04C3E6B@gmail.com> <701B478D-7FE6-4B36-9ACB-2E178BD64031@gmail.com> Message-ID: <8b779302-8593-a487-c4b3-0cbbf76ffd0c@kdab.com> Il 22/10/2017 14:21, Jeffrey Brendecke ha scritto: > > Do I need to be registered anywhere as a user in order to get access? I > just want read-only access at this time. > > $ git clone https://github.com/qtproject/qt5.git --branch dev By the way, why are you cloning from github, and not the official repository (code.qt.io)? Cheers, -- Giuseppe D'Angelo | giuseppe.dangelo at kdab.com | Senior Software Engineer KDAB (UK) Ltd., a KDAB Group company | Tel: UK +44-1625-809908 KDAB - Qt, C++ and OpenGL Experts -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 4007 bytes Desc: Firma crittografica S/MIME URL: From giuseppe.dangelo at kdab.com Sun Oct 22 20:25:00 2017 From: giuseppe.dangelo at kdab.com (Giuseppe D'Angelo) Date: Sun, 22 Oct 2017 20:25:00 +0200 Subject: [Interest] QFileDialog Query In-Reply-To: References: <58f716bd-abc5-6064-36f7-4fcb0819810a@jerber.co.uk> Message-ID: <265a94dd-ddd9-0cb7-625e-04793dafde26@kdab.com> Hi, Il 21/10/2017 20:39, Dan Allen ha scritto: >     fileDialog.setDefaultSuffix("txt"); Just wondering, what happens without this line? Cheers, -- Giuseppe D'Angelo | giuseppe.dangelo at kdab.com | Senior Software Engineer KDAB (UK) Ltd., a KDAB Group company | Tel: UK +44-1625-809908 KDAB - Qt, C++ and OpenGL Experts -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 4007 bytes Desc: Firma crittografica S/MIME URL: From dan at jerber.co.uk Sun Oct 22 20:46:58 2017 From: dan at jerber.co.uk (Dan Allen) Date: Sun, 22 Oct 2017 19:46:58 +0100 Subject: [Interest] QFileDialog Query In-Reply-To: <265a94dd-ddd9-0cb7-625e-04793dafde26@kdab.com> References: <58f716bd-abc5-6064-36f7-4fcb0819810a@jerber.co.uk> <265a94dd-ddd9-0cb7-625e-04793dafde26@kdab.com> Message-ID: <4ed5dca9-a778-3279-56b3-35863c2e1851@jerber.co.uk> Hi Guiseppe, If that line was left out the dialog would return just "text" (i.e. without the suffix). Thanks, Dan. On 22/10/17 19:25, Giuseppe D'Angelo wrote: > Hi, > > Il 21/10/2017 20:39, Dan Allen ha scritto: >>      fileDialog.setDefaultSuffix("txt"); > > Just wondering, what happens without this line? > > Cheers, > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeffrey.brendecke at gmail.com Sun Oct 22 21:23:56 2017 From: jeffrey.brendecke at gmail.com (Jeffrey Brendecke) Date: Sun, 22 Oct 2017 21:23:56 +0200 Subject: [Interest] Compiling the latest Qt versions post-5.10 In-Reply-To: References: <25F1B239-454A-4EDC-9A5E-E6EBE04C3E6B@gmail.com> <701B478D-7FE6-4B36-9ACB-2E178BD64031@gmail.com> Message-ID: <0F062AAB-E935-44D6-91ED-CD4A912A882F@gmail.com> > On 22. Oct 2017, at 15:42, Sze Howe Koh wrote: > > On 22 October 2017 at 20:21, Jeffrey Brendecke > wrote: >> >> On 21. Oct 2017, at 15:56, Jeffrey Brendecke >> wrote: >> >> Is it possible to access the latest development branches for Qt versions >> after 5.10? >> >> If so, where do I get the source and are there compilation/installation >> instructions beyond what is found here: >> >> https://wiki.qt.io/Building_Qt_5_from_Git >> >> >> The process for cloning and checking out the dev branch goes fine until >> qtnetworkauth. At that point I am consistently prompted to authenticate, >> which does not succeed with my GitHub account. >> >> Do I need to be registered anywhere as a user in order to get access? I just >> want read-only access at this time. >> >> $ git clone https://github.com/qtproject/qt5.git --branch dev > > No registration is required. > > > === EXPLANATION === > Some time ago, the libraries moved from https://github.com/qtproject/ > to https://github.com/qt/. > > So, https://github.com/qtproject/qt5.git now redirects to > https://github.com/qt/qt5.git (try it in your web browser). GitHub > takes care of the redirection when you clone. > > However, Qt Network Authorization is a much newer module. It never > existed under the old qtproject account, so a redirection doesn't > exist. You can go to https://github.com/qt/qtnetworkauth.git, but > https://github.com/qtproject/qtnetworkauth.git gives error 404. > > > === SOLUTION === > If you edit your the qt5/.git/config file and set remote "origin" to > https://github.com/qt/qt5.git, you should be able to run the > init-repository script again. (You might need to use the --force > option) > > If all that is too hard, you can also delete everything, clone > https://code.qt.io/qt/qt5.git (as recommended by the wiki), and run > init-repository from scratch. > > >> $ cd qt5 >> $ git checkout dev >> $ perl init-repository >> --module-subset=default,-qtwebkit,-qtwebkit-examples,-qtwebengine >> >> Error message: >> + git clone --no-checkout https://github.com/qtproject/qtnetworkauth.git >> qtnetworkauth >> Cloning into 'qtnetworkauth'... >> Username for 'https://github.com': XXXX >> Password for 'https://XXXX at github.com': >> remote: Invalid username or password. >> fatal: Authentication failed for >> 'https://github.com/qtproject/qtnetworkauth.git/' >> git clone --no-checkout https://github.com/qtproject/qtnetworkauth.git >> qtnetworkauth exited with status 32768 at init-repository line 198. >> Qt::InitRepository::exe('Qt::InitRepository=HASH(0x7f89f2803ff0)', 'git', >> 'clone', '--no-checkout', 'https://github.com/qtproject/qtnetworkauth.git', >> 'qtnetworkauth') called at init-repository line 534 >> Qt::InitRepository::git_clone_one_submodule('Qt::InitRepository=HASH(0x7f89f2803ff0)', >> 'qtnetworkauth', 'qtnetworkauth.git', 0) called at init-repository line 407 >> Qt::InitRepository::git_clone_all_submodules('Qt::InitRepository=HASH(0x7f89f2803ff0)', >> 'qt5', 0, 'preview', 'essential', 'addon', 'deprecated', '-qtwebkit', >> '-qtwebkit-examples', ...) called at init-repository line 644 >> Qt::InitRepository::run('Qt::InitRepository=HASH(0x7f89f2803ff0)') called at >> init-repository line 655 > > > Regards, > Sze-Howe Thanks, that fixed that problem: > If you edit your the qt5/.git/config file and set remote "origin" to > https://github.com/qt/qt5.git, you should be able to run the > init-repository script again. (You might need to use the --force > option) Now, another issue has appeared with qtlocation-mapboxgl.git: + git config remote.gerrit.url ssh://codereview.qt-project.org/qt/qtlocation-mapboxgl.git + git config remote.gerrit.fetch +refs/heads/*:refs/remotes/gerrit/* /heads/ + git submodule update --force --no-fetch fatal: Needed a single revision Unable to find current revision in submodule path 'src/3rdparty/mapbox-gl-native' git submodule update --force --no-fetch exited with status 256 at init-repository line 198. Qt::InitRepository::exe('Qt::InitRepository=HASH(0x7ffd58802ff0)', 'git', 'submodule', 'update', '--force', '--no-fetch') called at init-repository line 429 Qt::InitRepository::git_clone_all_submodules('Qt::InitRepository=HASH(0x7ffd58802ff0)', 'qtlocation.git', 0, 'all') called at init-repository line 435 Qt::InitRepository::git_clone_all_submodules('Qt::InitRepository=HASH(0x7ffd58802ff0)', 'qt5', 0, 'preview', 'essential', 'addon', 'deprecated', '-qtwebkit', '-qtwebkit-examples', ...) called at init-repository line 644 Qt::InitRepository::run('Qt::InitRepository=HASH(0x7ffd58802ff0)') called at init-repository line 655 Is there a fix for this? Is this documented anywhere? Thanks very much for your assistance. -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Sun Oct 22 19:30:41 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Sun, 22 Oct 2017 10:30:41 -0700 Subject: [Interest] Unescape hex escaped values in a QString In-Reply-To: References: <2211413.RPnxLUPjWr@tjmaciei-mobl1> Message-ID: <5123161.MpTGd8aHz0@tjmaciei-mobl1> On Sunday, 22 October 2017 10:17:50 PDT Christian Ehrlicher wrote: > Am 22.10.2017 um 18:38 schrieb Thiago Macieira: > > There's no function to decode this in QString or QByteArray for that > > matter. This has nothing to do with fromUtf8(). > > > > The decoding has to be done manually. > > Thx for the information, decoding should be easy. I just did not want to > reinvent the wheel in case qt already provided something for this :) Please submit it as the fix for QTBUG-61420. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From nunosantos at imaginando.pt Sun Oct 22 23:11:39 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Sun, 22 Oct 2017 22:11:39 +0100 Subject: [Interest] Qt iOS - qmake runs everytime a new build is made which takes to long Message-ID: <85D01229-19AC-48AD-AB5C-8FA9B6DF2CA4@imaginando.pt> Hi, I have just tried Qt 5.9.2 as I have been still working with Qt 5.7.1 I have noticed a new behaviour I wasn’t having on Qt 5.7.1. When I run or simply build a Qt iOS app, qmake command is called. This is actually taking quite long (around 15s to complete). My project contains a lot of files but I have never felt anything like this before and it is breaking my productivity. Has anyone experience anything similar? Thx! Regards, Nuno From thiago.macieira at intel.com Mon Oct 23 00:34:11 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Sun, 22 Oct 2017 15:34:11 -0700 Subject: [Interest] Qt iOS - qmake runs everytime a new build is made which takes to long In-Reply-To: <85D01229-19AC-48AD-AB5C-8FA9B6DF2CA4@imaginando.pt> References: <85D01229-19AC-48AD-AB5C-8FA9B6DF2CA4@imaginando.pt> Message-ID: <3706768.KcbUaFv4Xh@tjmaciei-mobl1> On Sunday, 22 October 2017 14:11:39 PDT Nuno Santos wrote: > I have noticed a new behaviour I wasn’t having on Qt 5.7.1. When I run or > simply build a Qt iOS app, qmake command is called. This is actually taking > quite long (around 15s to complete). > > My project contains a lot of files but I have never felt anything like this > before and it is breaking my productivity. Has anyone experience anything > similar? Please confirm: is that Qt Creator running qmake? Or is it make running qmake? -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From Jake.Petroules at qt.io Mon Oct 23 02:42:22 2017 From: Jake.Petroules at qt.io (Jake Petroules) Date: Mon, 23 Oct 2017 00:42:22 +0000 Subject: [Interest] Qt iOS - qmake runs everytime a new build is made which takes to long In-Reply-To: <3706768.KcbUaFv4Xh@tjmaciei-mobl1> References: <85D01229-19AC-48AD-AB5C-8FA9B6DF2CA4@imaginando.pt> <3706768.KcbUaFv4Xh@tjmaciei-mobl1> Message-ID: <2880B026-520F-42E5-8444-E7B1C40BF4BE@qt.io> This is a known issue (as in, Ossi and I know about it) but I don't know if there's an open QTBUG for it (there should be). Did you first notice this in 5.9.2 or an earlier release? > On Oct 22, 2017, at 3:34 PM, Thiago Macieira wrote: > > On Sunday, 22 October 2017 14:11:39 PDT Nuno Santos wrote: >> I have noticed a new behaviour I wasn’t having on Qt 5.7.1. When I run or >> simply build a Qt iOS app, qmake command is called. This is actually taking >> quite long (around 15s to complete). >> >> My project contains a lot of files but I have never felt anything like this >> before and it is breaking my productivity. Has anyone experience anything >> similar? > > Please confirm: is that Qt Creator running qmake? Or is it make running qmake? > > -- > Thiago Macieira - thiago.macieira (AT) intel.com > Software Architect - Intel Open Source Technology Center > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -- Jake Petroules - jake.petroules at qt.io The Qt Company - Silicon Valley Qbs build tool evangelist - qbs.io From Sudhir.Sharma at mindtree.com Mon Oct 23 09:16:42 2017 From: Sudhir.Sharma at mindtree.com (Sudhir Sharma) Date: Mon, 23 Oct 2017 07:16:42 +0000 Subject: [Interest] QT 5.9.2 Print Dialog Message-ID: Hi, I am facing a strange problem, where I am able to invoke Print Dialog from my development machine(windows 8). But when I install my application in difference machine (win 10), the Print Dialog does not show up. Seems to be issue of missing or wrong DLLs in other machine. I have checked for "Qt5PrintSupport.dll", which is same in both machines. Any idea what else could be wrong? Regards, Sudhir ________________________________ http://www.mindtree.com/email/disclaimer.html -------------- next part -------------- An HTML attachment was scrubbed... URL: From vperetokin at gmail.com Mon Oct 23 09:19:40 2017 From: vperetokin at gmail.com (Vadim Peretokin) Date: Mon, 23 Oct 2017 07:19:40 +0000 Subject: [Interest] QT 5.9.2 Print Dialog In-Reply-To: References: Message-ID: Are you using the windeployqt to create a deployment version of your app? On Mon, Oct 23, 2017 at 9:17 AM Sudhir Sharma wrote: > Hi, > > > > I am facing a strange problem, where I am able to invoke Print Dialog from > my development machine(windows 8). > > But when I install my application in difference machine (win 10), the > Print Dialog does not show up. > > > > Seems to be issue of missing or wrong DLLs in other machine. > > I have checked for “Qt5PrintSupport.dll”, which is same in both machines. > > > > Any idea what else could be wrong? > > > > Regards, > > Sudhir > > ------------------------------ > > http://www.mindtree.com/email/disclaimer.html > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Sudhir.Sharma at mindtree.com Mon Oct 23 09:32:34 2017 From: Sudhir.Sharma at mindtree.com (Sudhir Sharma) Date: Mon, 23 Oct 2017 07:32:34 +0000 Subject: [Interest] QT 5.9.2 Print Dialog In-Reply-To: References: Message-ID: No, I am using a simple installer which just bundles the binaries and copies DLL files. Regards, Sudhir From: Vadim Peretokin [mailto:vperetokin at gmail.com] Sent: Monday, October 23, 2017 12:50 PM To: Sudhir Sharma Cc: interest at qt-project.org Subject: Re: [Interest] QT 5.9.2 Print Dialog * You are receiving this mail from an external source * Are you using the windeployqt to create a deployment version of your app? On Mon, Oct 23, 2017 at 9:17 AM Sudhir Sharma > wrote: Hi, I am facing a strange problem, where I am able to invoke Print Dialog from my development machine(windows 8). But when I install my application in difference machine (win 10), the Print Dialog does not show up. Seems to be issue of missing or wrong DLLs in other machine. I have checked for “Qt5PrintSupport.dll”, which is same in both machines. Any idea what else could be wrong? Regards, Sudhir ________________________________ http://www.mindtree.com/email/disclaimer.html _______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From carel.combrink at gmail.com Mon Oct 23 09:35:08 2017 From: carel.combrink at gmail.com (Carel Combrink) Date: Mon, 23 Oct 2017 09:35:08 +0200 Subject: [Interest] QT 5.9.2 Print Dialog In-Reply-To: References: Message-ID: Make sure that the 'windowsprintersupport.dll' is installed into the folder 'printsupport' alongside your exe. Your installed folder should look something like: BinFolder: * printsupport - windowsprintersupport.dll - app.exe Regards, On Mon, Oct 23, 2017 at 9:32 AM, Sudhir Sharma wrote: > No, I am using a simple installer which just bundles the binaries and > copies DLL files. > > > > Regards, > > Sudhir > > > > *From:* Vadim Peretokin [mailto:vperetokin at gmail.com] > *Sent:* Monday, October 23, 2017 12:50 PM > *To:* Sudhir Sharma > *Cc:* interest at qt-project.org > *Subject:* Re: [Interest] QT 5.9.2 Print Dialog > > > > * You are receiving this mail from an external source * > > Are you using the windeployqt to create a deployment version of your app? > > > > On Mon, Oct 23, 2017 at 9:17 AM Sudhir Sharma > wrote: > > Hi, > > > > I am facing a strange problem, where I am able to invoke Print Dialog from > my development machine(windows 8). > > But when I install my application in difference machine (win 10), the > Print Dialog does not show up. > > > > Seems to be issue of missing or wrong DLLs in other machine. > > I have checked for “Qt5PrintSupport.dll”, which is same in both machines. > > > > Any idea what else could be wrong? > > > > Regards, > > Sudhir > > > ------------------------------ > > > http://www.mindtree.com/email/disclaimer.html > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hamish at risingsoftware.com Mon Oct 23 09:37:59 2017 From: hamish at risingsoftware.com (Hamish Moffatt) Date: Mon, 23 Oct 2017 18:37:59 +1100 Subject: [Interest] QT 5.9.2 Print Dialog In-Reply-To: References: Message-ID: On 23/10/17 18:16, Sudhir Sharma wrote: > > Hi, > > I am facing a strange problem, where I am able to invoke Print Dialog > from my development machine(windows 8). > > But when I install my application in difference machine (win 10), the > Print Dialog does not show up. > > Seems to be issue of missing or wrong DLLs in other machine. > > I have checked for “Qt5PrintSupport.dll”, which is same in both machines. > Didn't we have this conversation last month? You need the windowsprintersupport platform plugin too. Hamish -------------- next part -------------- An HTML attachment was scrubbed... URL: From Sudhir.Sharma at mindtree.com Mon Oct 23 10:14:18 2017 From: Sudhir.Sharma at mindtree.com (Sudhir Sharma) Date: Mon, 23 Oct 2017 08:14:18 +0000 Subject: [Interest] QT 5.9.2 Print Dialog In-Reply-To: References: Message-ID: Great, Thanks a lot, it Worked..!! Regards, Sudhir From: Carel Combrink [mailto:carel.combrink at gmail.com] Sent: Monday, October 23, 2017 1:05 PM To: Sudhir Sharma Cc: interest at qt-project.org Subject: Re: [Interest] QT 5.9.2 Print Dialog * You are receiving this mail from an external source * Make sure that the 'windowsprintersupport.dll' is installed into the folder 'printsupport' alongside your exe. Your installed folder should look something like: BinFolder: * printsupport - windowsprintersupport.dll - app.exe Regards, On Mon, Oct 23, 2017 at 9:32 AM, Sudhir Sharma > wrote: No, I am using a simple installer which just bundles the binaries and copies DLL files. Regards, Sudhir From: Vadim Peretokin [mailto:vperetokin at gmail.com] Sent: Monday, October 23, 2017 12:50 PM To: Sudhir Sharma > Cc: interest at qt-project.org Subject: Re: [Interest] QT 5.9.2 Print Dialog * You are receiving this mail from an external source * Are you using the windeployqt to create a deployment version of your app? On Mon, Oct 23, 2017 at 9:17 AM Sudhir Sharma > wrote: Hi, I am facing a strange problem, where I am able to invoke Print Dialog from my development machine(windows 8). But when I install my application in difference machine (win 10), the Print Dialog does not show up. Seems to be issue of missing or wrong DLLs in other machine. I have checked for “Qt5PrintSupport.dll”, which is same in both machines. Any idea what else could be wrong? Regards, Sudhir ________________________________ http://www.mindtree.com/email/disclaimer.html _______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest _______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From giuseppe.dangelo at kdab.com Mon Oct 23 11:48:06 2017 From: giuseppe.dangelo at kdab.com (Giuseppe D'Angelo) Date: Mon, 23 Oct 2017 11:48:06 +0200 Subject: [Interest] QFileDialog Query In-Reply-To: <4ed5dca9-a778-3279-56b3-35863c2e1851@jerber.co.uk> References: <58f716bd-abc5-6064-36f7-4fcb0819810a@jerber.co.uk> <265a94dd-ddd9-0cb7-625e-04793dafde26@kdab.com> <4ed5dca9-a778-3279-56b3-35863c2e1851@jerber.co.uk> Message-ID: <229e6180-0df5-3d71-83ff-1e95e1619d2d@kdab.com> Il 22/10/2017 20:46, Dan Allen ha scritto: > Hi Guiseppe, > > If that line was left out the dialog would return just "text" (i.e. > without the suffix). Right, so we're back in Qt territory, with this option which might be misleading. Please go ahead and file a bug report, so that the discussion can be tracked there. Cheers, -- Giuseppe D'Angelo | giuseppe.dangelo at kdab.com | Senior Software Engineer KDAB (UK) Ltd., a KDAB Group company | Tel: UK +44-1625-809908 KDAB - Qt, C++ and OpenGL Experts -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 4007 bytes Desc: Firma crittografica S/MIME URL: From dan at jerber.co.uk Mon Oct 23 12:21:10 2017 From: dan at jerber.co.uk (Dan Allen) Date: Mon, 23 Oct 2017 11:21:10 +0100 Subject: [Interest] QFileDialog Query In-Reply-To: <229e6180-0df5-3d71-83ff-1e95e1619d2d@kdab.com> References: <58f716bd-abc5-6064-36f7-4fcb0819810a@jerber.co.uk> <265a94dd-ddd9-0cb7-625e-04793dafde26@kdab.com> <4ed5dca9-a778-3279-56b3-35863c2e1851@jerber.co.uk> <229e6180-0df5-3d71-83ff-1e95e1619d2d@kdab.com> Message-ID: <3db9277d-c8ee-bad9-c435-00b75c5b79d8@jerber.co.uk> Thanks Giuseppe. I've created a bug report, number QTBUG-63972. I've stated in the report that this appears to only be an issue with Linux (or at least Ubuntu). I tested using Windows and OSX and the dialog always requests confirmation. Thanks, Dan. On 23/10/17 10:48, Giuseppe D'Angelo wrote: > Il 22/10/2017 20:46, Dan Allen ha scritto: >> Hi Guiseppe, >> >> If that line was left out the dialog would return just "text" (i.e. >> without the suffix). > > Right, so we're back in Qt territory, with this option which might be > misleading. Please go ahead and file a bug report, so that the > discussion can be tracked there. > > Cheers, > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From carel.combrink at gmail.com Mon Oct 23 13:21:37 2017 From: carel.combrink at gmail.com (Carel Combrink) Date: Mon, 23 Oct 2017 13:21:37 +0200 Subject: [Interest] Building Qt apps on Ubuntu 17.10: GL/gl.h missing In-Reply-To: <5210711.jk1Eys16CJ@tjmaciei-mobl1> References: <5210711.jk1Eys16CJ@tjmaciei-mobl1> Message-ID: > > > You're looking for the GL header. Installing the GLES development package > is > the wrong solution. > > Install the GL development package. > I have also tried both of the following but they all want to install X11 related packages.: - libgl-dev - libgl1-mesa-dev Is this "normal" or is there another Wayland specific GL dev implementation/library that I should install? -------------- next part -------------- An HTML attachment was scrubbed... URL: From andre.hartmann at iseg-hv.de Mon Oct 23 13:49:58 2017 From: andre.hartmann at iseg-hv.de (=?UTF-8?Q?Andr=c3=a9_Hartmann?=) Date: Mon, 23 Oct 2017 13:49:58 +0200 Subject: [Interest] Building Qt apps on Ubuntu 17.10: GL/gl.h missing In-Reply-To: References: <5210711.jk1Eys16CJ@tjmaciei-mobl1> Message-ID: Hi Carel, I usually encounter the problems when linking, and in this case sudo apt install libglu1-mesa-dev helped me. Not sure if that applies to your problem also. Best regards, André Am 23.10.2017 um 13:21 schrieb Carel Combrink: > > You're looking for the GL header. Installing the GLES development > package is > the wrong solution. > > Install the GL development package. > > > I have also tried both of the following but they all want to install X11 > related packages.: > - libgl-dev > - libgl1-mesa-dev > > Is this "normal" or is there another Wayland specific GL dev > implementation/library that I should install? > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -- Best regards / Mit freundlichen Grüßen André Hartmann, Dipl.-Ing. (FH) Software Project Manager iseg Spezialelektronik GmbH | phone: ++49 (0)351 26996-43 Bautzner Landstr. 23 | fax: ++49 (0)351 26996-21 D-01454 Radeberg / Rossendorf | web: www.iseg-hv.com Geschäftsführer / Managing director: Dr. F. Gleisberg, Dr. J. Pöthig Amtsgericht / Lower district court: Dresden HRB 16250 Ust.-Id.-Nr. / VAT-ID: DE812508942 Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet. This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden. From Sudhir.Sharma at mindtree.com Mon Oct 23 13:50:51 2017 From: Sudhir.Sharma at mindtree.com (Sudhir Sharma) Date: Mon, 23 Oct 2017 11:50:51 +0000 Subject: [Interest] File Dialog in WebEngine Message-ID: Hi, In 5.9.2, when we try to invoke File Dialog from html loaded in WebEngine, it does not get open. If the same url is opened in web browser, it works. Any idea? Regards, Sudhir ________________________________ http://www.mindtree.com/email/disclaimer.html -------------- next part -------------- An HTML attachment was scrubbed... URL: From ola at silentwings.no Mon Oct 23 13:55:15 2017 From: ola at silentwings.no (=?UTF-8?Q?Ola_R=C3=B8er_Thorsen?=) Date: Mon, 23 Oct 2017 13:55:15 +0200 Subject: [Interest] Set transparent fill on map using mapboxgl plugin Message-ID: Hi, I'm evaluating using QtLocation's map using mapboxgl. Currently I'm using the default settings, default map style, default developer access token. I'd like to set most layers' fill color to transparent, to see how it works out as an overlay on top of some live video. >From the documentation it seems like I can use the MapParameter items to do this, but so far I haven't been able to do anything to change the existing layers. Anyone have some hints for me how to do this? Basically i'd like to set the colors for layers like the background, water, etc. to transparent. Best regards, Ola -------------- next part -------------- An HTML attachment was scrubbed... URL: From dan at jerber.co.uk Mon Oct 23 13:56:40 2017 From: dan at jerber.co.uk (Dan Allen) Date: Mon, 23 Oct 2017 12:56:40 +0100 Subject: [Interest] Building Qt apps on Ubuntu 17.10: GL/gl.h missing In-Reply-To: References: <5210711.jk1Eys16CJ@tjmaciei-mobl1> Message-ID: <924d6937-d9ff-b1a8-fd2e-3c9b4bbe4dc5@jerber.co.uk> Hi Carel, I always install mesa-common-dev for gl.h and what Andre suggests for glu. Thanks, Dan. On 23/10/17 12:49, André Hartmann wrote: > Hi Carel, > > I usually encounter the problems when linking, and in this case > >  sudo apt install libglu1-mesa-dev > > helped me. Not sure if that applies to your problem also. > > Best regards, > André > > Am 23.10.2017 um 13:21 schrieb Carel Combrink: >> >>     You're looking for the GL header. Installing the GLES development >>     package is >>     the wrong solution. >> >>     Install the GL development package. >> >> >> I have also tried both of the following but they all want to install >> X11 related packages.: >> - libgl-dev >> - libgl1-mesa-dev >> >> Is this "normal" or is there another Wayland specific GL dev >> implementation/library that I should install? >> >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest >> > > From carel.combrink at gmail.com Mon Oct 23 14:04:02 2017 From: carel.combrink at gmail.com (Carel Combrink) Date: Mon, 23 Oct 2017 14:04:02 +0200 Subject: [Interest] Building Qt apps on Ubuntu 17.10: GL/gl.h missing In-Reply-To: <924d6937-d9ff-b1a8-fd2e-3c9b4bbe4dc5@jerber.co.uk> References: <5210711.jk1Eys16CJ@tjmaciei-mobl1> <924d6937-d9ff-b1a8-fd2e-3c9b4bbe4dc5@jerber.co.uk> Message-ID: I am aware of that that was the solution with pre Ubuntu 17.10. The issue, or rather question is, is this still the correct packages since Ubuntu 17.10 uses Wayland instead of X11? In the past Ubuntu used X11 thus those packages makes sense. Ubuntu 17.10 does not use X11 so to install a dev package that installs many X11 packages does not feel like the correct approach. I know this is not a Qt specific issue, but was hoping that the Qt community had some answers. On Mon, Oct 23, 2017 at 1:56 PM, Dan Allen wrote: > Hi Carel, > > I always install mesa-common-dev for gl.h and what Andre suggests for glu. > > Thanks, > > Dan. > > > On 23/10/17 12:49, André Hartmann wrote: > >> Hi Carel, >> >> I usually encounter the problems when linking, and in this case >> >> sudo apt install libglu1-mesa-dev >> >> helped me. Not sure if that applies to your problem also. >> >> Best regards, >> André >> >> Am 23.10.2017 um 13:21 schrieb Carel Combrink: >> >>> >>> You're looking for the GL header. Installing the GLES development >>> package is >>> the wrong solution. >>> >>> Install the GL development package. >>> >>> >>> I have also tried both of the following but they all want to install X11 >>> related packages.: >>> - libgl-dev >>> - libgl1-mesa-dev >>> >>> Is this "normal" or is there another Wayland specific GL dev >>> implementation/library that I should install? >>> >>> >>> _______________________________________________ >>> Interest mailing list >>> Interest at qt-project.org >>> http://lists.qt-project.org/mailman/listinfo/interest >>> >>> >> >> > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -------------- next part -------------- An HTML attachment was scrubbed... URL: From kde at carewolf.com Mon Oct 23 14:27:23 2017 From: kde at carewolf.com (Allan Sandfeld Jensen) Date: Mon, 23 Oct 2017 14:27:23 +0200 Subject: [Interest] File Dialog in WebEngine In-Reply-To: References: Message-ID: <1517688.l9p8PlvTLI@twilight> On Montag, 23. Oktober 2017 13:50:51 CEST Sudhir Sharma wrote: > Hi, > > In 5.9.2, when we try to invoke File Dialog from html loaded in WebEngine, > it does not get open. If the same url is opened in web browser, it works. > > Any idea? > How are you trying to invoke it from HTML? 'Allan From nunosantos at imaginando.pt Mon Oct 23 16:38:49 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Mon, 23 Oct 2017 15:38:49 +0100 Subject: [Interest] Qt iOS - qmake runs everytime a new build is made which takes to long In-Reply-To: <3706768.KcbUaFv4Xh@tjmaciei-mobl1> References: <85D01229-19AC-48AD-AB5C-8FA9B6DF2CA4@imaginando.pt> <3706768.KcbUaFv4Xh@tjmaciei-mobl1> Message-ID: <5BA44D85-469C-4D65-9A15-528FF80D1FC2@imaginando.pt> Thiago, Please tell me how can I distinguish it I’m just pressing CMD+B to build or CMD+R to run. Both cases produce the same results. It runs the qmake on the project file. I can distinguish this because the warning about private headers usage is show (due to qtquickcompiler usage) every time qmake is run. Please advise. Regards, Nuno > On 22 Oct 2017, at 23:34, Thiago Macieira wrote: > > On Sunday, 22 October 2017 14:11:39 PDT Nuno Santos wrote: >> I have noticed a new behaviour I wasn’t having on Qt 5.7.1. When I run or >> simply build a Qt iOS app, qmake command is called. This is actually taking >> quite long (around 15s to complete). >> >> My project contains a lot of files but I have never felt anything like this >> before and it is breaking my productivity. Has anyone experience anything >> similar? > > Please confirm: is that Qt Creator running qmake? Or is it make running qmake? > > -- > Thiago Macieira - thiago.macieira (AT) intel.com > Software Architect - Intel Open Source Technology Center > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest From nunosantos at imaginando.pt Mon Oct 23 16:39:54 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Mon, 23 Oct 2017 15:39:54 +0100 Subject: [Interest] Qt iOS - qmake runs everytime a new build is made which takes to long In-Reply-To: <2880B026-520F-42E5-8444-E7B1C40BF4BE@qt.io> References: <85D01229-19AC-48AD-AB5C-8FA9B6DF2CA4@imaginando.pt> <3706768.KcbUaFv4Xh@tjmaciei-mobl1> <2880B026-520F-42E5-8444-E7B1C40BF4BE@qt.io> Message-ID: Jake, I don’t try new Qt builds for ages as I have been “stuck” to Qt 5.7.1 so for me this is new. I will open a BUG report and let you guys know about it. Regards, Nuno > On 23 Oct 2017, at 01:42, Jake Petroules wrote: > > This is a known issue (as in, Ossi and I know about it) but I don't know if there's an open QTBUG for it (there should be). > > Did you first notice this in 5.9.2 or an earlier release? > >> On Oct 22, 2017, at 3:34 PM, Thiago Macieira wrote: >> >> On Sunday, 22 October 2017 14:11:39 PDT Nuno Santos wrote: >>> I have noticed a new behaviour I wasn’t having on Qt 5.7.1. When I run or >>> simply build a Qt iOS app, qmake command is called. This is actually taking >>> quite long (around 15s to complete). >>> >>> My project contains a lot of files but I have never felt anything like this >>> before and it is breaking my productivity. Has anyone experience anything >>> similar? >> >> Please confirm: is that Qt Creator running qmake? Or is it make running qmake? >> >> -- >> Thiago Macieira - thiago.macieira (AT) intel.com >> Software Architect - Intel Open Source Technology Center >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest > > -- > Jake Petroules - jake.petroules at qt.io > The Qt Company - Silicon Valley > Qbs build tool evangelist - qbs.io > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest From nunosantos at imaginando.pt Mon Oct 23 16:43:32 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Mon, 23 Oct 2017 15:43:32 +0100 Subject: [Interest] Qt iOS - qmake runs everytime a new build is made which takes to long In-Reply-To: <2880B026-520F-42E5-8444-E7B1C40BF4BE@qt.io> References: <85D01229-19AC-48AD-AB5C-8FA9B6DF2CA4@imaginando.pt> <3706768.KcbUaFv4Xh@tjmaciei-mobl1> <2880B026-520F-42E5-8444-E7B1C40BF4BE@qt.io> Message-ID: Jake, Thiago, https://bugreports.qt.io/browse/QTBUG-63982 Regards, Nuno > On 23 Oct 2017, at 01:42, Jake Petroules wrote: > > This is a known issue (as in, Ossi and I know about it) but I don't know if there's an open QTBUG for it (there should be). > > Did you first notice this in 5.9.2 or an earlier release? > >> On Oct 22, 2017, at 3:34 PM, Thiago Macieira wrote: >> >> On Sunday, 22 October 2017 14:11:39 PDT Nuno Santos wrote: >>> I have noticed a new behaviour I wasn’t having on Qt 5.7.1. When I run or >>> simply build a Qt iOS app, qmake command is called. This is actually taking >>> quite long (around 15s to complete). >>> >>> My project contains a lot of files but I have never felt anything like this >>> before and it is breaking my productivity. Has anyone experience anything >>> similar? >> >> Please confirm: is that Qt Creator running qmake? Or is it make running qmake? >> >> -- >> Thiago Macieira - thiago.macieira (AT) intel.com >> Software Architect - Intel Open Source Technology Center >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest > > -- > Jake Petroules - jake.petroules at qt.io > The Qt Company - Silicon Valley > Qbs build tool evangelist - qbs.io > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Mon Oct 23 16:49:15 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Mon, 23 Oct 2017 07:49:15 -0700 Subject: [Interest] Qt iOS - qmake runs everytime a new build is made which takes to long In-Reply-To: <5BA44D85-469C-4D65-9A15-528FF80D1FC2@imaginando.pt> References: <85D01229-19AC-48AD-AB5C-8FA9B6DF2CA4@imaginando.pt> <3706768.KcbUaFv4Xh@tjmaciei-mobl1> <5BA44D85-469C-4D65-9A15-528FF80D1FC2@imaginando.pt> Message-ID: <13015585.Nzhs5lqnPh@tjmaciei-mobl1> On Monday, 23 October 2017 07:38:49 PDT Nuno Santos wrote: > Thiago, > > Please tell me how can I distinguish it Sure. Close Qt Creator. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From thiago.macieira at intel.com Mon Oct 23 16:51:30 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Mon, 23 Oct 2017 07:51:30 -0700 Subject: [Interest] Building Qt apps on Ubuntu 17.10: GL/gl.h missing In-Reply-To: References: <5210711.jk1Eys16CJ@tjmaciei-mobl1> Message-ID: <1916367.gritmd52kT@tjmaciei-mobl1> On Monday, 23 October 2017 04:21:37 PDT Carel Combrink wrote: > > You're looking for the GL header. Installing the GLES development package > > is > > the wrong solution. > > > > Install the GL development package. > > I have also tried both of the following but they all want to install X11 > related packages.: > - libgl-dev > - libgl1-mesa-dev > > Is this "normal" or is there another Wayland specific GL dev > implementation/library that I should install? I believe it's normal. You'll have to ask someone who knows Debian / Ubuntu packaging to be sure, but if it's using Mesa headers, then it's very likely that it's the same build for Wayland, X and any other backends. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From aclight at gmail.com Mon Oct 23 23:37:36 2017 From: aclight at gmail.com (Adam Light) Date: Mon, 23 Oct 2017 14:37:36 -0700 Subject: [Interest] Using QAbstractScrollArea scrollBarWidget and cornerWidget on Macintosh Message-ID: Hi We use scroll bar widgets and corner widgets in several QAbstractScrollArea subclasses in our application. We set the scroll bar policy for the corresponding scroll bars to AlwaysOn. However, on Macintosh, the OS does not typically show scroll bars, and this means that our scroll bar and corner widgets are not visible for most users. In order for them to be shown, the user must set their system preferences to always show scroll bars (described in http://osxdaily.com/2011/08/03/show-scroll-bars-mac-os-x-lion/). Does anyone have a good solution for this (other than the obvious solution which is to avoid using scroll bar widgets and corner widgets)? Ideally I would be able to override the system setting for individual scroll areas. An alternative would be to check the value of that system setting on startup and suggest that the user change it if they don't always have scroll bars visible. But I haven't been able to find a way to test the value of that system setting. Thanks for any ideas Adam -------------- next part -------------- An HTML attachment was scrubbed... URL: From asmaloney at gmail.com Tue Oct 24 05:38:34 2017 From: asmaloney at gmail.com (Andy) Date: Mon, 23 Oct 2017 23:38:34 -0400 Subject: [Interest] What's happening w/Qt3D? Message-ID: I just noticed that all of the Gerrit changes from KDAB contributors to qt/qt3d have been abandoned. What's going on? --- Andy Maloney // https://asmaloney.com twitter ~ @asmaloney -------------- next part -------------- An HTML attachment was scrubbed... URL: From chgans at gmail.com Tue Oct 24 09:33:52 2017 From: chgans at gmail.com (Christian Gagneraud) Date: Tue, 24 Oct 2017 20:33:52 +1300 Subject: [Interest] What's happening w/Qt3D? In-Reply-To: References: Message-ID: On 24/10/2017 4:39 pm, "Andy" wrote: I just noticed that all of the Gerrit changes from KDAB contributors to qt/qt3d have been abandoned. What's going on? Don't know if it's related but QtTraces review has been abandoned too w/o any apparent reason, it's a pity it looked very promising. KDAB is doing an awesome job, big thumb up guys! Chris --- Andy Maloney // https://asmaloney.com twitter ~ @asmaloney _______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From sean.harmer at kdab.com Tue Oct 24 11:24:28 2017 From: sean.harmer at kdab.com (Sean Harmer) Date: Tue, 24 Oct 2017 10:24:28 +0100 Subject: [Interest] What's happening w/Qt3D? In-Reply-To: References: Message-ID: <7fc95bc9-5c4c-9977-f29f-fb9c64452d60@kdab.com> Hi Andy, On 24/10/2017 04:38, Andy wrote: > I just noticed that all of the Gerrit changes from KDAB contributors to > qt/qt3d have been abandoned. > > What's going on? KDAB is continuing to invest and develop Qt 3D but we have temporarily withdrawn our contributions until senior management at The Qt Company makes it clear that they genuinely wish to treat the Qt Project as an Open Governance project and that external contributions are welcomed and valued. KDAB very much appreciates the support from engineers at The Qt Company who, like us, just wish to improve Qt for everybody. KDAB will also continue to support the community and we do not wish to hinder or obstruct any development. Rest assured that Qt 3D will continue and that we have some large improvements in both features and performance in the pipeline. Kind regards, Sean -- Dr Sean Harmer | sean.harmer at kdab.com | Managing Director UK KDAB (UK) Ltd, a KDAB Group company Tel. +44 (0)1625 809908; Sweden (HQ) +46-563-540090 Mobile: +44 (0)7545 140604 KDAB - Qt Experts From journals.mcnally at gmail.com Tue Oct 24 11:35:09 2017 From: journals.mcnally at gmail.com (Mcnally (Journals)) Date: Tue, 24 Oct 2017 10:35:09 +0100 Subject: [Interest] QApplication::ApplicationStateChanged Signal Not Emitted When In EGLFS Message-ID: <009601d34cab$62d8a480$2889ed80$@gmail.com> Hi Lazlo, Thank you for the reply, a bug report has been opened in Jira. I did initially wonder if the signal just wasn't implemented for the platform as a point of design, but found nothing official supporting that. It is nice to know it should be faked. As it happens, I'm primarily targeting embedded platforms so will continue with the single shot timer for now, as this seems to meet my needs. Regards Odie McNally -------------- next part -------------- An HTML attachment was scrubbed... URL: From Sudhir.Sharma at mindtree.com Tue Oct 24 12:06:47 2017 From: Sudhir.Sharma at mindtree.com (Sudhir Sharma) Date: Tue, 24 Oct 2017 10:06:47 +0000 Subject: [Interest] [Qt bugreports] (QTBUG-61910) Windows: WebEngine does not respect "Bypass proxy for local addresses" In-Reply-To: References: Message-ID: Hi, The solution worked when I applied the fix from the link “https://codereview.qt-project.org/#/c/200546/3”, as mentioned in “QTBUG-61910” and made build. But this solution does not seem to work with release 5.9.2 Not sure if the fix was included in 5.9.2? Regards, Sudhir From: Kai Köhne (via JIRA) [mailto:jira-noreply at qt-project.org] Sent: Tuesday, July 25, 2017 7:30 PM To: Sudhir Sharma Subject: [Qt bugreports] (QTBUG-61910) Windows: WebEngine does not respect "Bypass proxy for local addresses" * You are receiving this mail from an external source * [cid:image001.png at 01D34CDD.985CAC50] Kai Köhne resolved as Done Qt / [Bug] QTBUG-61910 Windows: WebEngine does not respect "Bypass proxy for local addresses" Change By: Kai Köhne Status: In Progress Closed Commits: b5c8c48a87a19618b23d6d4fc5035915a9322117 Fix Version/s: 5.9.2 Fix Version/s: 5.10.0 Resolution: Done [Add Comment] Add Comment This message was sent by Atlassian JIRA (v7.3.4#73015-sha1:a262b34) [Atlassian logo] ________________________________ http://www.mindtree.com/email/disclaimer.html -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.png Type: image/png Size: 1818 bytes Desc: image001.png URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image003.png Type: image/png Size: 645 bytes Desc: image003.png URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image004.png Type: image/png Size: 1084 bytes Desc: image004.png URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image005.png Type: image/png Size: 2983 bytes Desc: image005.png URL: From Sudhir.Sharma at mindtree.com Tue Oct 24 12:12:22 2017 From: Sudhir.Sharma at mindtree.com (Sudhir Sharma) Date: Tue, 24 Oct 2017 10:12:22 +0000 Subject: [Interest] File Dialog in WebEngine In-Reply-To: <1517688.l9p8PlvTLI@twilight> References: <1517688.l9p8PlvTLI@twilight> Message-ID: Using JS library "FileSaver.js". Function Calls: Invoke File Save dialog with function call "saveAs()" Regards, Sudhir -----Original Message----- From: Allan Sandfeld Jensen [mailto:kde at carewolf.com] Sent: Monday, October 23, 2017 5:57 PM To: interest at qt-project.org Cc: Sudhir Sharma Subject: Re: [Interest] File Dialog in WebEngine * You are receiving this mail from an external source * On Montag, 23. Oktober 2017 13:50:51 CEST Sudhir Sharma wrote: > Hi, > > In 5.9.2, when we try to invoke File Dialog from html loaded in > WebEngine, it does not get open. If the same url is opened in web browser, it works. > > Any idea? > How are you trying to invoke it from HTML? 'Allan ________________________________ http://www.mindtree.com/email/disclaimer.html From paolo.angelelli at qt.io Tue Oct 24 12:36:36 2017 From: paolo.angelelli at qt.io (Paolo Angelelli) Date: Tue, 24 Oct 2017 12:36:36 +0200 Subject: [Interest] Set transparent fill on map using mapboxgl plugin In-Reply-To: References: Message-ID: <20171024123636.6cbd2eb7@qdesktop> On Mon, 23 Oct 2017 13:55:15 +0200 Ola Røer Thorsen wrote: > Hi, I'm evaluating using QtLocation's map using mapboxgl. Currently I'm > using the default settings, default map style, default developer access > token. > > I'd like to set most layers' fill color to transparent, to see how it works > out as an overlay on top of some live video. > > From the documentation it seems like I can use the MapParameter items to do > this, but so far I haven't been able to do anything to change the existing > layers. > > Anyone have some hints for me how to do this? Basically i'd like to set the > colors for layers like the background, water, etc. to transparent. > > Best regards, > Ola Hi, on this the mbgl documentation is a bit lacking ( there's even an open bug report on this, QTBUG-62453 ). However, the way it works at the moment is that, if you give an objectName, say "foo", to your map item, then you can reference the resulting mapboxgl layer using "QtLocation-foo" as layer name. Example (setting some layout props): MapPolyline { objectName: 'poly' id: poly line.width: 10 line.color: 'deepskyblue' path : } MapParameter { type: 'layout' property var layer: 'QtLocation-poly' property var lineJoin: 'round' property var lineCap: 'round' } For your specific problem, if this is going to work, it's probably by setting some of the properties described in https://www.mapbox.com/mapbox-gl-js/style-spec/#layers-fill best, Paolo From paolo.angelelli at qt.io Tue Oct 24 13:52:16 2017 From: paolo.angelelli at qt.io (Paolo Angelelli) Date: Tue, 24 Oct 2017 13:52:16 +0200 Subject: [Interest] QGeoPositionInfo in QML In-Reply-To: <7FC8D04D3E708B4AA8248F6D64E0CB2136BC5B72@IRSMSX104.ger.corp.intel.com> References: <7FC8D04D3E708B4AA8248F6D64E0CB2136BC5B72@IRSMSX104.ger.corp.intel.com> Message-ID: <20171024135216.381be396@qdesktop> Hi Julius, so there is currently no easy way to have a single interoperable source for position info. Either you use the C++ source, and QGeoPositionInfo or, QML's PositionSource and Position. If you want to have the same source, and the data coming from that source in both C++ and QML, i currently see 2 approaches: either you register your own QGeoPositionInfo QML wrapper with accessors, and push objects of this kind into QML from the C++ source, or you go the other way around, and extract the relevant bits from a Position in a JS piece of code, and push those into some structure (even a variant map) to C++. It might be worth considering to (privately?) export PositionSource, so that, if one has specific needs, could depend on positioning-private, and use the class from Cpp.. On Tue, 26 Sep 2017 09:37:25 +0000 "Bullinger, Julius" wrote: > Hi there, > > in Qt Location, there's the QGeoPositionInfo class for storing geo positions. > There's also the Position QML type with a matching interface to do the same in QML. > > However, I haven't had success trying to expose a QGeoPosition object as Q_PROPERTY. In QML, the type will be reported as QVariant, and I cannot access any properties. > > What is the supposed way to use QGeoPositionInfo in QML? There's QDeclarativePosition, but it's private. > > Thanks and best regards, > Julius > > > Intel Deutschland GmbH > Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany > Tel: +49 89 99 8853-0, www.intel.de > Managing Directors: Christin Eisenschmid, Christian Lamprechter > Chairperson of the Supervisory Board: Nicole Lau > Registered Office: Munich > Commercial Register: Amtsgericht Muenchen HRB 186928 From ola at silentwings.no Tue Oct 24 14:10:33 2017 From: ola at silentwings.no (=?UTF-8?Q?Ola_R=C3=B8er_Thorsen?=) Date: Tue, 24 Oct 2017 14:10:33 +0200 Subject: [Interest] Set transparent fill on map using mapboxgl plugin In-Reply-To: <20171024123636.6cbd2eb7@qdesktop> References: <20171024123636.6cbd2eb7@qdesktop> Message-ID: 2017-10-24 12:36 GMT+02:00 Paolo Angelelli : > > For your specific problem, if this is going to work, it's probably by > setting some of the properties described > in https://www.mapbox.com/mapbox-gl-js/style-spec/#layers-fill > > Thanks for the reply! I got it working, after I figured out that the mapbox property names are translated from the mapbox names with dashes to camelCase in the MapParameter item. So this here work for example: MapParameter { type: "paint" property var layer: "water-shadow" property var fillOpacity: 0.1 } esfsegfs -------------- next part -------------- An HTML attachment was scrubbed... URL: From ola at silentwings.no Tue Oct 24 14:13:16 2017 From: ola at silentwings.no (=?UTF-8?Q?Ola_R=C3=B8er_Thorsen?=) Date: Tue, 24 Oct 2017 14:13:16 +0200 Subject: [Interest] Set transparent fill on map using mapboxgl plugin In-Reply-To: References: <20171024123636.6cbd2eb7@qdesktop> Message-ID: > > MapParameter { > type: "paint" > property var layer: "water-shadow" > property var fillOpacity: 0.1 > } > > ... sorry for accidentally pressing send. It seems like the map does not handle transparency properly. I also tried creating my own mapbox style with most fill-colors set transparent. However in Qt Quick Map the transparent colors are rendered as black instead so the map cannot be used as an overlay on top of the rest of the Qt Quick scene. Is this a bug, or simply not possible? Best regards, Ola -------------- next part -------------- An HTML attachment was scrubbed... URL: From asmaloney at gmail.com Tue Oct 24 15:03:27 2017 From: asmaloney at gmail.com (Andy) Date: Tue, 24 Oct 2017 09:03:27 -0400 Subject: [Interest] What's happening w/Qt3D? In-Reply-To: <7fc95bc9-5c4c-9977-f29f-fb9c64452d60@kdab.com> References: <7fc95bc9-5c4c-9977-f29f-fb9c64452d60@kdab.com> Message-ID: On Tue, Oct 24, 2017 at 5:24 AM, Sean Harmer wrote: > Hi Andy, > > On 24/10/2017 04:38, Andy wrote: > >> I just noticed that all of the Gerrit changes from KDAB contributors to >> qt/qt3d have been abandoned. >> >> What's going on? >> > > KDAB is continuing to invest and develop Qt 3D but we have temporarily > withdrawn our contributions until senior management at The Qt Company makes > it clear that they genuinely wish to treat the Qt Project as an Open > Governance project and that external contributions are welcomed and valued. > Thank you for the explanation Sean. I hope it gets sorted out soon. And thank you to KDAB for all the work on Qt3D and other contributions. It is tremendously useful to the community. > KDAB very much appreciates the support from engineers at The Qt Company > who, like us, just wish to improve Qt for everybody. KDAB will also > continue to support the community and we do not wish to hinder or obstruct > any development. > > Rest assured that Qt 3D will continue and that we have some large > improvements in both features and performance in the pipeline. > As you can tell from my bug reports and change requests I'm more interested in working examples and proper documentation than new stuff :-) > Kind regards, > > Sean > > -- > Dr Sean Harmer | sean.harmer at kdab.com | Managing Director UK > KDAB (UK) Ltd, a KDAB Group company > Tel. +44 (0)1625 809908; Sweden (HQ) +46-563-540090 > Mobile: +44 (0)7545 140604 > KDAB - Qt Experts > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > --- Andy Maloney // https://asmaloney.com twitter ~ @asmaloney -------------- next part -------------- An HTML attachment was scrubbed... URL: From nunosantos at imaginando.pt Wed Oct 25 10:08:44 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Wed, 25 Oct 2017 09:08:44 +0100 Subject: [Interest] Improve Sharpness of Qml Text Item text rendering Message-ID: <26F8D8FF-E16D-4C73-A9D3-B1E0AEDD8E07@imaginando.pt> Hi, Which variables affect the sharpness of the Qml Text item rendering? I’m looking for ways of improving the text readability as it seems a bit blurry and I have many users referring that aspect. This is not a problem on Mac devices with Retina support. This is specially relevant on plain 72dpi monitors. The screenshot below is taken on a OSX desktop at 1920x1080 resolution. Any suggestions? Regards, Nuno -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Screen Shot 2017-10-25 at 09.06.48.png Type: image/png Size: 39072 bytes Desc: not available URL: From b.terrier at gmail.com Wed Oct 25 11:25:51 2017 From: b.terrier at gmail.com (Benjamin TERRIER) Date: Wed, 25 Oct 2017 11:25:51 +0200 Subject: [Interest] [Development] Qt installation prefix path issue In-Reply-To: References: <1568868.tOqNYi3kPC@tjmaciei-mobl1> Message-ID: Hi, To get an idea of how patching Qt5 works, one can look at the function patchQtCore() used in windeployqt. It will give you an idea of how its done on windows. http://code.qt.io/cgit/qt/qttools.git/tree/src/windeployqt/utils.cpp#n948 BR, Benjamin 2017-10-18 9:17 GMT+02:00 Christian Gagneraud : > On 18/10/2017 8:08 pm, "Thiago Macieira" wrote: > > [moving to the interest mailing list; please drop development@ when > replying] > > On Tuesday, 17 October 2017 23:38:24 PDT bhaskar kotha wrote: >> How to configure Qt so that Qmake should not take absolute path. > > That's not possible. You can't move Qt: you have to decide where it's going > to > be the moment you configure. > > > It is actually possible, but it's far from trivial. Boot2qt Yocto SDK is > doing exactly this. > I don't have references right now, but the answer is in boot2qt git > repositories. > > Basically you need to patch the binaries after relocation. > > Chris > > > > > Also, please upgrade to 5.6, 5.9, 5.10. Qt 5.4 is not supported. > > -- > Thiago Macieira - thiago.macieira (AT) intel.com > Software Architect - Intel Open Source Technology Center > > _______________________________________________ > Development mailing list > Development at qt-project.org > http://lists.qt-project.org/mailman/listinfo/development > > > > _______________________________________________ > Development mailing list > Development at qt-project.org > http://lists.qt-project.org/mailman/listinfo/development > From Shawn.Rutledge at qt.io Wed Oct 25 11:36:27 2017 From: Shawn.Rutledge at qt.io (Shawn Rutledge) Date: Wed, 25 Oct 2017 09:36:27 +0000 Subject: [Interest] Improve Sharpness of Qml Text Item text rendering In-Reply-To: <26F8D8FF-E16D-4C73-A9D3-B1E0AEDD8E07@imaginando.pt> References: <26F8D8FF-E16D-4C73-A9D3-B1E0AEDD8E07@imaginando.pt> Message-ID: <4E9D58AC-1017-4AA1-BE8F-ADD43E698948@qt.io> > On 25 Oct 2017, at 10:08, Nuno Santos wrote: > > Hi, > > Which variables affect the sharpness of the Qml Text item rendering? renderType: Text.NativeRendering This comes up quite often. Distance field text rendering will always be a bit blurry like that. From Sudhir.Sharma at mindtree.com Wed Oct 25 11:45:20 2017 From: Sudhir.Sharma at mindtree.com (Sudhir Sharma) Date: Wed, 25 Oct 2017 09:45:20 +0000 Subject: [Interest] lupdate : Compilation Error Message-ID: Getting following error when compiling .ts file in QT 5.9.2. --- (lupdate) --- WARNING: Project ERROR: Cannot run compiler 'cl'. Maybe you forgot to setup the environment? It worked fine in QT 4.8. Any additional configuration required in 5.9? Regards, Sudhir ________________________________ http://www.mindtree.com/email/disclaimer.html -------------- next part -------------- An HTML attachment was scrubbed... URL: From chgans at gmail.com Wed Oct 25 11:55:07 2017 From: chgans at gmail.com (Christian Gagneraud) Date: Wed, 25 Oct 2017 22:55:07 +1300 Subject: [Interest] [Development] Qt installation prefix path issue In-Reply-To: References: <1568868.tOqNYi3kPC@tjmaciei-mobl1> Message-ID: On 25/10/17 22:25, Benjamin TERRIER wrote: > Hi, > > To get an idea of how patching Qt5 works, one can look at the function > patchQtCore() used in windeployqt. > It will give you an idea of how its done on windows. > > http://code.qt.io/cgit/qt/qttools.git/tree/src/windeployqt/utils.cpp#n948 Thank you for that one, it is a different implementation of what I was referring to. My point is now: Google returns no result because the Qt company refuses to publish its open source tools in an open manner: code.qt.io explicitly expresses that it does not wish to be indexed by search engines. Man, any sysadmin listening here? If you give me an ssh access, I'll fix the problem. Chris From b.terrier at gmail.com Wed Oct 25 12:08:29 2017 From: b.terrier at gmail.com (Benjamin TERRIER) Date: Wed, 25 Oct 2017 12:08:29 +0200 Subject: [Interest] [Development] Qt installation prefix path issue In-Reply-To: References: <1568868.tOqNYi3kPC@tjmaciei-mobl1> Message-ID: That explains why I always end up on clones when I use a search engine... sad. Sometimes I feel like The Qt Company doesn't totally appreciate the open source side of Qt. Anyway it is easier to use Woboq clone, they have nice code browsing functionalities: https://code.woboq.org/qt5/qttools/src/windeployqt/utils.cpp.html#_Z11patchQtCoreRK7QStringPS_ 2017-10-25 11:55 GMT+02:00 Christian Gagneraud : > On 25/10/17 22:25, Benjamin TERRIER wrote: >> >> Hi, >> >> To get an idea of how patching Qt5 works, one can look at the function >> patchQtCore() used in windeployqt. >> It will give you an idea of how its done on windows. >> >> http://code.qt.io/cgit/qt/qttools.git/tree/src/windeployqt/utils.cpp#n948 > > > Thank you for that one, it is a different implementation of what I was > referring to. > > My point is now: > > Google returns no result because the Qt company refuses to publish its open > source tools in an open manner: code.qt.io explicitly expresses that it does > not wish to be indexed by search engines. > > Man, any sysadmin listening here? > > If you give me an ssh access, I'll fix the problem. > > Chris > From Maurice.Kalinowski at qt.io Wed Oct 25 12:12:57 2017 From: Maurice.Kalinowski at qt.io (Maurice Kalinowski) Date: Wed, 25 Oct 2017 10:12:57 +0000 Subject: [Interest] [Development] Qt installation prefix path issue In-Reply-To: References: <1568868.tOqNYi3kPC@tjmaciei-mobl1> Message-ID: The reason is that code.qt.io is never meant as a public searchable tool, but its purpose has always been to reduce the load on gerrit when doing initial clones. Come on people, it's not that everything is meant to be purely evil, but as code.qt.io is there since a while, its main use-case might have shifted. There is also the official mirroring at github https://github.com/qt which you could use to do your daily clones and builds of Qt. To repeat, code.qt.io was meant for people contributing to Qt and reducing the IO on gerrit as an initial setup step. Nothing more... Maurice > -----Original Message----- > From: Interest [mailto:interest-bounces+maurice.kalinowski=qt.io at qt- > project.org] On Behalf Of Benjamin TERRIER > Sent: Wednesday, October 25, 2017 12:08 PM > To: Christian Gagneraud > Cc: qt qt > Subject: Re: [Interest] [Development] Qt installation prefix path issue > > That explains why I always end up on clones when I use a search engine... > sad. > Sometimes I feel like The Qt Company doesn't totally appreciate the open > source side of Qt. > > Anyway it is easier to use Woboq clone, they have nice code browsing > functionalities: > https://code.woboq.org/qt5/qttools/src/windeployqt/utils.cpp.html#_Z11p > atchQtCoreRK7QStringPS_ > > 2017-10-25 11:55 GMT+02:00 Christian Gagneraud : > > On 25/10/17 22:25, Benjamin TERRIER wrote: > >> > >> Hi, > >> > >> To get an idea of how patching Qt5 works, one can look at the > >> function > >> patchQtCore() used in windeployqt. > >> It will give you an idea of how its done on windows. > >> > >> http://code.qt.io/cgit/qt/qttools.git/tree/src/windeployqt/utils.cpp# > >> n948 > > > > > > Thank you for that one, it is a different implementation of what I was > > referring to. > > > > My point is now: > > > > Google returns no result because the Qt company refuses to publish its > > open source tools in an open manner: code.qt.io explicitly expresses > > that it does not wish to be indexed by search engines. > > > > Man, any sysadmin listening here? > > > > If you give me an ssh access, I'll fix the problem. > > > > Chris > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest From b.terrier at gmail.com Wed Oct 25 12:24:02 2017 From: b.terrier at gmail.com (Benjamin TERRIER) Date: Wed, 25 Oct 2017 12:24:02 +0200 Subject: [Interest] [Development] Qt installation prefix path issue In-Reply-To: References: <1568868.tOqNYi3kPC@tjmaciei-mobl1> Message-ID: 2017-10-25 12:12 GMT+02:00 Maurice Kalinowski : > The reason is that code.qt.io is never meant as a public searchable tool, but its purpose has always been to reduce the load on gerrit when doing initial clones. > > Come on people, it's not that everything is meant to be purely evil, but as code.qt.io is there since a while, its main use-case might have shifted. > > There is also the official mirroring at github https://github.com/qt which you could use to do your daily clones and builds of Qt. > > To repeat, code.qt.io was meant for people contributing to Qt and reducing the IO on gerrit as an initial setup step. Nothing more... > > Maurice > Thanks for the fast response and the explanations :-) From daniel.engelke at basyskom.com Wed Oct 25 12:28:27 2017 From: daniel.engelke at basyskom.com (Daniel Engelke) Date: Wed, 25 Oct 2017 12:28:27 +0200 Subject: [Interest] lupdate : Compilation Error In-Reply-To: References: Message-ID: Hi, you probably need newer MSVC build tools / MSVC build tools in your environment. Br Daniel On 10/25/2017 11:45 AM, Sudhir Sharma wrote: > > Getting following error when compiling .ts file in QT 5.9.2. > > --- (lupdate) > > --- WARNING: Project ERROR: Cannot run compiler 'cl'. Maybe you forgot > to setup the environment? > > It worked fine in QT 4.8. > > Any additional configuration required in 5.9? > > Regards, > > Sudhir > > > ------------------------------------------------------------------------ > > http://www.mindtree.com/email/disclaimer.html > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From paolo.angelelli at qt.io Wed Oct 25 13:34:45 2017 From: paolo.angelelli at qt.io (Paolo Angelelli) Date: Wed, 25 Oct 2017 13:34:45 +0200 Subject: [Interest] Set transparent fill on map using mapboxgl plugin In-Reply-To: References: <20171024123636.6cbd2eb7@qdesktop> Message-ID: <20171025133445.18ba9ca8@qdesktop> Hi, in this case i'm not 100% sure what you mean. I just tried to create a Map using mapboxgl plugin, with a polyline on it, and set the opacity to 0.5, and it seems to behave as expected. So yes, i would say that it might be a bug worth to report with a sample :-) On Tue, 24 Oct 2017 14:13:16 +0200 Ola Røer Thorsen wrote: > > > > MapParameter { > > type: "paint" > > property var layer: "water-shadow" > > property var fillOpacity: 0.1 > > } > > > > > ... sorry for accidentally pressing send. > > It seems like the map does not handle transparency properly. I also tried > creating my own mapbox style with most fill-colors set transparent. However > in Qt Quick Map the transparent colors are rendered as black instead so the > map cannot be used as an overlay on top of the rest of the Qt Quick scene. > > Is this a bug, or simply not possible? > > Best regards, > Ola From Shawn.Rutledge at qt.io Wed Oct 25 14:22:57 2017 From: Shawn.Rutledge at qt.io (Shawn Rutledge) Date: Wed, 25 Oct 2017 12:22:57 +0000 Subject: [Interest] Improve Sharpness of Qml Text Item text rendering In-Reply-To: References: <26F8D8FF-E16D-4C73-A9D3-B1E0AEDD8E07@imaginando.pt> <4E9D58AC-1017-4AA1-BE8F-ADD43E698948@qt.io> Message-ID: <1608A64B-8E6F-4CC9-B569-D8C3927A706E@qt.io> > On 25 Oct 2017, at 11:54, Nuno Santos wrote: > > Shawn, > > Thanks for your reply. > > It actually got worst with this setting. In what way? The downside of native text is that it’s a bit less efficient, and is rendered exactly at the declared font size, so transforms such as scaling and rotation look terrible. We don’t use it by default because QtQuick is for fluid applications, but static text looks “more native” with NativeRendering. Here’s a little torture-test you can try (with the qml runtime): import QtQuick 2.0 import QtQuick.Layouts 1.1 import QtQuick.Controls 2.1 Rectangle { width: 900 height: 480 GridLayout { width: parent.width columns: 3 flow: GridLayout.TopToBottom Repeater { model: 10 Text { text: "default rendering" font.pixelSize: sizeSlider.value * (index + 1) transformOrigin: Item.TopLeft scale: scaleSlider.value rotation: rotationSlider.value } } Repeater { id: nrRepeater model: 10 Text { renderType: Text.NativeRendering text: "native rendering" font.pixelSize: sizeSlider.value * (index + 1) Layout.column: 1 Layout.row: index transformOrigin: Item.TopLeft scale: scaleSlider.value rotation: rotationSlider.value } } Repeater { model: 10 Canvas { width: 300 height: fontSize property real fontSize: sizeSlider.value * (index + 1) onPaint: { var ctx = getContext("2d"); ctx.clearRect(0, 0, width, height); ctx.fillStyle = Qt.rgba(0, 0, 0, 1); ctx.font = fontSize + 'px Helvetica'; ctx.textBaseline = 'top'; console.log("painting " + index + " , height " + height + " font " + ctx.font + " based on " + sizeSlider.value) ctx.fillText('canvas rendering', 0, 0); } Layout.column: 2 Layout.row: index transformOrigin: Item.TopLeft scale: scaleSlider.value rotation: rotationSlider.value } } SequentialAnimation on y { id: jumper running: cbAnimate.checked loops: Animation.Infinite NumberAnimation { from: 0; to: amplitudeSlider.value } NumberAnimation { to: 0; from: amplitudeSlider.value } } } Column { anchors.bottom: parent.bottom Row { spacing: 6 Text { text: "Pixel size"; anchors.verticalCenter: parent.verticalCenter } Slider { id: sizeSlider; from: 2; to: 5 } CheckBox { id: cbAnimate; text: "Jumpy"; checked: true } Slider { id: amplitudeSlider; from: 1; to: 10; value: 1; onValueChanged: jumper.restart() } } Row { spacing: 6 Text { text: "Scale"; anchors.verticalCenter: parent.verticalCenter } Slider { id: scaleSlider; from: 0.5; to: 2; value: 1 } Text { text: "Rotation"; anchors.verticalCenter: parent.verticalCenter } Slider { id: rotationSlider; from: -10; to: 10; value: 0 } Button { text: "Reset"; onClicked: { scaleSlider.value = 1; rotationSlider.value = 0 } } } } } > So I assume there aren’t any other alternatives. There’s some work in progress toward rendering with contours eventually: https://bugreports.qt.io/browse/QTBUG-61933 but that’s intended for larger text sizes. You could try using QPainter (make a custom C++ Item which renders words to textures and then creates QSGImageNodes for them), but I think that would look about the same as native text. From annulen at yandex.ru Wed Oct 25 16:16:51 2017 From: annulen at yandex.ru (Konstantin Tokarev) Date: Wed, 25 Oct 2017 17:16:51 +0300 Subject: [Interest] [Development] Qt installation prefix path issue In-Reply-To: References: <1568868.tOqNYi3kPC@tjmaciei-mobl1> Message-ID: <4163171508941011@web9o.yandex.ru> 25.10.2017, 12:55, "Christian Gagneraud" : > On 25/10/17 22:25, Benjamin TERRIER wrote: >>  Hi, >> >>  To get an idea of how patching Qt5 works, one can look at the function >>  patchQtCore() used in windeployqt. >>  It will give you an idea of how its done on windows. >> >>  http://code.qt.io/cgit/qt/qttools.git/tree/src/windeployqt/utils.cpp#n948 > > Thank you for that one, it is a different implementation of what I was > referring to. > > My point is now: > > Google returns no result because the Qt company refuses to publish its > open source tools in an open manner: code.qt.io explicitly expresses > that it does not wish to be indexed by search engines. Why do you need search engines when you can just clone and run git grep? It's way more reliable. > > Man, any sysadmin listening here? > > If you give me an ssh access, I'll fix the problem. > > Chris > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -- Regards, Konstantin From nunosantos at imaginando.pt Wed Oct 25 16:29:35 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Wed, 25 Oct 2017 15:29:35 +0100 Subject: [Interest] How to know the caller of a function on Qml Javascript? Message-ID: <74F34EDE-B9BC-47CE-9FD4-F7109E244D6F@imaginando.pt> Hi, Let’s suppose I have something like this: item.propertyChanged.connect(handlePropertyChanged) function handlePropertyChanged() { // invoke something on the caller object } How can I get the caller object? Is there something similar to sender() on the Javascript side? Regards, Nuno -------------- next part -------------- An HTML attachment was scrubbed... URL: From b.terrier at gmail.com Wed Oct 25 16:30:30 2017 From: b.terrier at gmail.com (Benjamin TERRIER) Date: Wed, 25 Oct 2017 16:30:30 +0200 Subject: [Interest] [Development] Qt installation prefix path issue In-Reply-To: <4163171508941011@web9o.yandex.ru> References: <1568868.tOqNYi3kPC@tjmaciei-mobl1> <4163171508941011@web9o.yandex.ru> Message-ID: 2017-10-25 16:16 GMT+02:00 Konstantin Tokarev : > > > 25.10.2017, 12:55, "Christian Gagneraud" : >> Google returns no result because the Qt company refuses to publish its >> open source tools in an open manner: code.qt.io explicitly expresses >> that it does not wish to be indexed by search engines. > > Why do you need search engines when you can just clone and run git grep? > It's way more reliable. Agreed. But it happens that I want to do a quick check and I am on a PC that either does not have git installed or doesn't already have a clone of the repository I want to look at and the said repo is so big that using Google even if unpractical can be faster. BR, Benjamin From nunosantos at imaginando.pt Wed Oct 25 16:33:29 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Wed, 25 Oct 2017 15:33:29 +0100 Subject: [Interest] Improve Sharpness of Qml Text Item text rendering In-Reply-To: <1608A64B-8E6F-4CC9-B569-D8C3927A706E@qt.io> References: <26F8D8FF-E16D-4C73-A9D3-B1E0AEDD8E07@imaginando.pt> <4E9D58AC-1017-4AA1-BE8F-ADD43E698948@qt.io> <1608A64B-8E6F-4CC9-B569-D8C3927A706E@qt.io> Message-ID: <96128418-C705-4135-95E7-060475DE6BC8@imaginando.pt> Shawn, Sorry, I should have sent you the output of my test. On the Image below, the knobs labels are using NativeRendering (OCTAVE & FINE) If you compare them agains WAVEFORM and SEMITONE, you will notice them more crisp. I will try the code you sent me! Thx! Regards, Nuno > On 25 Oct 2017, at 13:22, Shawn Rutledge wrote: > > >> On 25 Oct 2017, at 11:54, Nuno Santos wrote: >> >> Shawn, >> >> Thanks for your reply. >> >> It actually got worst with this setting. > > In what way? > > The downside of native text is that it’s a bit less efficient, and is rendered exactly at the declared font size, so transforms such as scaling and rotation look terrible. We don’t use it by default because QtQuick is for fluid applications, but static text looks “more native” with NativeRendering. > > Here’s a little torture-test you can try (with the qml runtime): > > import QtQuick 2.0 > import QtQuick.Layouts 1.1 > import QtQuick.Controls 2.1 > > Rectangle { > width: 900 > height: 480 > > GridLayout { > width: parent.width > columns: 3 > flow: GridLayout.TopToBottom > > Repeater { > model: 10 > Text { > text: "default rendering" > font.pixelSize: sizeSlider.value * (index + 1) > transformOrigin: Item.TopLeft > scale: scaleSlider.value > rotation: rotationSlider.value > } > } > > Repeater { > id: nrRepeater > model: 10 > Text { > renderType: Text.NativeRendering > text: "native rendering" > font.pixelSize: sizeSlider.value * (index + 1) > Layout.column: 1 > Layout.row: index > transformOrigin: Item.TopLeft > scale: scaleSlider.value > rotation: rotationSlider.value > } > } > > Repeater { > model: 10 > Canvas { > width: 300 > height: fontSize > property real fontSize: sizeSlider.value * (index + 1) > onPaint: { > var ctx = getContext("2d"); > ctx.clearRect(0, 0, width, height); > ctx.fillStyle = Qt.rgba(0, 0, 0, 1); > ctx.font = fontSize + 'px Helvetica'; > ctx.textBaseline = 'top'; > console.log("painting " + index + " , height " + height + " font " + ctx.font + " based on " + sizeSlider.value) > ctx.fillText('canvas rendering', 0, 0); > } > Layout.column: 2 > Layout.row: index > transformOrigin: Item.TopLeft > scale: scaleSlider.value > rotation: rotationSlider.value > } > } > SequentialAnimation on y { > id: jumper > running: cbAnimate.checked > loops: Animation.Infinite > NumberAnimation { from: 0; to: amplitudeSlider.value } > NumberAnimation { to: 0; from: amplitudeSlider.value } > } > } > > Column { > anchors.bottom: parent.bottom > Row { > spacing: 6 > Text { text: "Pixel size"; anchors.verticalCenter: parent.verticalCenter } > Slider { id: sizeSlider; from: 2; to: 5 } > CheckBox { id: cbAnimate; text: "Jumpy"; checked: true } > Slider { id: amplitudeSlider; from: 1; to: 10; value: 1; onValueChanged: jumper.restart() } > } > Row { > spacing: 6 > Text { text: "Scale"; anchors.verticalCenter: parent.verticalCenter } > Slider { id: scaleSlider; from: 0.5; to: 2; value: 1 } > Text { text: "Rotation"; anchors.verticalCenter: parent.verticalCenter } > Slider { id: rotationSlider; from: -10; to: 10; value: 0 } > Button { text: "Reset"; onClicked: { scaleSlider.value = 1; rotationSlider.value = 0 } } > } > } > } > >> So I assume there aren’t any other alternatives. > > There’s some work in progress toward rendering with contours eventually: https://bugreports.qt.io/browse/QTBUG-61933 but that’s intended for larger text sizes. > > You could try using QPainter (make a custom C++ Item which renders words to textures and then creates QSGImageNodes for them), but I think that would look about the same as native text. > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Screen Shot 2017-10-25 at 15.31.32.png Type: image/png Size: 47121 bytes Desc: not available URL: From nunosantos at imaginando.pt Wed Oct 25 16:38:28 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Wed, 25 Oct 2017 15:38:28 +0100 Subject: [Interest] Improve Sharpness of Qml Text Item text rendering In-Reply-To: <96128418-C705-4135-95E7-060475DE6BC8@imaginando.pt> References: <26F8D8FF-E16D-4C73-A9D3-B1E0AEDD8E07@imaginando.pt> <4E9D58AC-1017-4AA1-BE8F-ADD43E698948@qt.io> <1608A64B-8E6F-4CC9-B569-D8C3927A706E@qt.io> <96128418-C705-4135-95E7-060475DE6BC8@imaginando.pt> Message-ID: Shawn, I have tested the code you sent me and it looks awesome using the default method. Maybe the font I’m using is not the best? What other parameters can influence this? pixelSize can influence results? The font I’m using to draw those labels is GoBold.ttf (follows attached) Thx, Nuno > On 25 Oct 2017, at 15:33, Nuno Santos wrote: > > Shawn, > > Sorry, I should have sent you the output of my test. > > > On the Image below, the knobs labels are using NativeRendering (OCTAVE & FINE) > > If you compare them agains WAVEFORM and SEMITONE, you will notice them more crisp. > > I will try the code you sent me! > > Thx! > > Regards, > > Nuno > > > > > >> On 25 Oct 2017, at 13:22, Shawn Rutledge > wrote: >> >> >>> On 25 Oct 2017, at 11:54, Nuno Santos > wrote: >>> >>> Shawn, >>> >>> Thanks for your reply. >>> >>> It actually got worst with this setting. >> >> In what way? >> >> The downside of native text is that it’s a bit less efficient, and is rendered exactly at the declared font size, so transforms such as scaling and rotation look terrible. We don’t use it by default because QtQuick is for fluid applications, but static text looks “more native” with NativeRendering. >> >> Here’s a little torture-test you can try (with the qml runtime): >> >> import QtQuick 2.0 >> import QtQuick.Layouts 1.1 >> import QtQuick.Controls 2.1 >> >> Rectangle { >> width: 900 >> height: 480 >> >> GridLayout { >> width: parent.width >> columns: 3 >> flow: GridLayout.TopToBottom >> >> Repeater { >> model: 10 >> Text { >> text: "default rendering" >> font.pixelSize: sizeSlider.value * (index + 1) >> transformOrigin: Item.TopLeft >> scale: scaleSlider.value >> rotation: rotationSlider.value >> } >> } >> >> Repeater { >> id: nrRepeater >> model: 10 >> Text { >> renderType: Text.NativeRendering >> text: "native rendering" >> font.pixelSize: sizeSlider.value * (index + 1) >> Layout.column: 1 >> Layout.row: index >> transformOrigin: Item.TopLeft >> scale: scaleSlider.value >> rotation: rotationSlider.value >> } >> } >> >> Repeater { >> model: 10 >> Canvas { >> width: 300 >> height: fontSize >> property real fontSize: sizeSlider.value * (index + 1) >> onPaint: { >> var ctx = getContext("2d"); >> ctx.clearRect(0, 0, width, height); >> ctx.fillStyle = Qt.rgba(0, 0, 0, 1); >> ctx.font = fontSize + 'px Helvetica'; >> ctx.textBaseline = 'top'; >> console.log("painting " + index + " , height " + height + " font " + ctx.font + " based on " + sizeSlider.value) >> ctx.fillText('canvas rendering', 0, 0); >> } >> Layout.column: 2 >> Layout.row: index >> transformOrigin: Item.TopLeft >> scale: scaleSlider.value >> rotation: rotationSlider.value >> } >> } >> SequentialAnimation on y { >> id: jumper >> running: cbAnimate.checked >> loops: Animation.Infinite >> NumberAnimation { from: 0; to: amplitudeSlider.value } >> NumberAnimation { to: 0; from: amplitudeSlider.value } >> } >> } >> >> Column { >> anchors.bottom: parent.bottom >> Row { >> spacing: 6 >> Text { text: "Pixel size"; anchors.verticalCenter: parent.verticalCenter } >> Slider { id: sizeSlider; from: 2; to: 5 } >> CheckBox { id: cbAnimate; text: "Jumpy"; checked: true } >> Slider { id: amplitudeSlider; from: 1; to: 10; value: 1; onValueChanged: jumper.restart() } >> } >> Row { >> spacing: 6 >> Text { text: "Scale"; anchors.verticalCenter: parent.verticalCenter } >> Slider { id: scaleSlider; from: 0.5; to: 2; value: 1 } >> Text { text: "Rotation"; anchors.verticalCenter: parent.verticalCenter } >> Slider { id: rotationSlider; from: -10; to: 10; value: 0 } >> Button { text: "Reset"; onClicked: { scaleSlider.value = 1; rotationSlider.value = 0 } } >> } >> } >> } >> >>> So I assume there aren’t any other alternatives. >> >> There’s some work in progress toward rendering with contours eventually: https://bugreports.qt.io/browse/QTBUG-61933 but that’s intended for larger text sizes. >> >> You could try using QPainter (make a custom C++ Item which renders words to textures and then creates QSGImageNodes for them), but I think that would look about the same as native text. >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: gobold.ttf Type: application/octet-stream Size: 19384 bytes Desc: not available URL: -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Screen Shot 2017-10-25 at 15.31.32.png Type: image/png Size: 47121 bytes Desc: not available URL: -------------- next part -------------- An HTML attachment was scrubbed... URL: From roland at logikalsolutions.com Wed Oct 25 17:27:24 2017 From: roland at logikalsolutions.com (Roland Hughes) Date: Wed, 25 Oct 2017 10:27:24 -0500 Subject: [Interest] What's happening w/Qt3D? In-Reply-To: References: Message-ID: <0defdce1-7f6b-1578-d605-cd08848cc005@logikalsolutions.com> A forking we will go, a forking we will go. Hi ho the dairy oh a forking we will go. On 10/25/2017 03:14 AM, interest-request at qt-project.org wrote: >> I just noticed that all of the Gerrit changes from KDAB contributors to >> qt/qt3d have been abandoned. >> >> What's going on? >> > KDAB is continuing to invest and develop Qt 3D but we have temporarily > withdrawn our contributions until senior management at The Qt Company makes > it clear that they genuinely wish to treat the Qt Project as an Open > Governance project and that external contributions are welcomed and valued. > -- Roland Hughes, President Logikal Solutions (630)-205-1593 http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.johnsmith-book.com http://www.logikalblog.com http://www.interestingauthors.com/blog http://lesedi.us/ http://onedollarcontentstore.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Wed Oct 25 17:44:57 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 25 Oct 2017 08:44:57 -0700 Subject: [Interest] lupdate : Compilation Error In-Reply-To: References: Message-ID: <7553677.dPLXfiWlux@tjmaciei-mobl1> On Wednesday, 25 October 2017 02:45:20 PDT Sudhir Sharma wrote: > Getting following error when compiling .ts file in QT 5.9.2. > > --- (lupdate) > --- WARNING: Project ERROR: Cannot run compiler 'cl'. Maybe you forgot to > setup the environment? > > It worked fine in QT 4.8. > > Any additional configuration required in 5.9? No, there shouldn't be. Type "cl" in your command prompt or shell. What version does it say it is? -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From giuseppe.dangelo at kdab.com Wed Oct 25 18:34:27 2017 From: giuseppe.dangelo at kdab.com (Giuseppe D'Angelo) Date: Wed, 25 Oct 2017 18:34:27 +0200 Subject: [Interest] (no subject) Message-ID: <00b418e6-3b10-3db1-615d-527892993671@kdab.com> -- Giuseppe D'Angelo | giuseppe.dangelo at kdab.com | Senior Software Engineer KDAB (UK) Ltd., a KDAB Group company | Tel: UK +44-1625-809908 KDAB - Qt, C++ and OpenGL Experts -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 4007 bytes Desc: Firma crittografica S/MIME URL: From giuseppe.dangelo at kdab.com Wed Oct 25 18:36:26 2017 From: giuseppe.dangelo at kdab.com (Giuseppe D'Angelo) Date: Wed, 25 Oct 2017 18:36:26 +0200 Subject: [Interest] Improve Sharpness of Qml Text Item text rendering In-Reply-To: <4E9D58AC-1017-4AA1-BE8F-ADD43E698948@qt.io> References: <26F8D8FF-E16D-4C73-A9D3-B1E0AEDD8E07@imaginando.pt> <4E9D58AC-1017-4AA1-BE8F-ADD43E698948@qt.io> Message-ID: Il 25/10/2017 11:36, Shawn Rutledge ha scritto: > renderType: Text.NativeRendering > > This comes up quite often. Distance field text rendering will always be a bit blurry like that. ... except that you can't / really want to do it for the Text elements inside 3rd party components (including Qt Quick Controls); use instead QQuickWindow::setTextRenderType: https://doc-snapshots.qt.io/qt5-5.10/qquickwindow.html#setTextRenderType And/or see the explaination for > https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=460925b3f1dd9d2301b9c69558bd68843cd5f978 Cheers, -- Giuseppe D'Angelo | giuseppe.dangelo at kdab.com | Senior Software Engineer KDAB (UK) Ltd., a KDAB Group company | Tel: UK +44-1625-809908 KDAB - Qt, C++ and OpenGL Experts -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 4007 bytes Desc: Firma crittografica S/MIME URL: From ekke at ekkes-corner.org Wed Oct 25 19:42:51 2017 From: ekke at ekkes-corner.org (ekke) Date: Wed, 25 Oct 2017 19:42:51 +0200 Subject: [Interest] Qt iOS - HowTo get access to Images stored at device Message-ID: <10c202c8-d9f1-3601-554d-087752c8d229@ekkes-corner.org> I need access to Images stored at iPhone to display as QML Image and upload them to REST Service. Qt 5.9.x, iOS 10+ So I added this to Info.plist: NSPhotoLibraryUsageDescription last entry of QStandardPath::PicturesLocation gives me access to assets-library:// and all Images from PhotoLibrary are listed QFileInfo then gives me this as filename: "asset.PNG?id=E8CE839A-29EA-42B2-A8FD-89B57ABEC765&ext=PNG" and this as path: "assets-library://asset/asset.PNG?id=E8CE839A-29EA-42B2-A8FD-89B57ABEC765&ext=PNG" I'm also getting the correct size of the Images from QFileInfo But I couldn't figure out HowTo get the local FileName and Path found this Forum post https://forum.qt.io/topic/47495/upload-ios-image-with-qt/8 and followed the advice there and tried: QString path("file:assets-library:/asset/"+fileInfo.fileName()); QUrl url(path); path = url.toLocalFile(); the path then looks as posted in forum post: "file:assets-library:/asset/asset.PNG?id=FB873B83-78E1-4B18-8601-0CD2CBD92308&ext=PNG" but url.toLocalFile() only gives "assets-library:/asset/asset.PNG" Any idea HowTo get access to the Photos ? thx ekke From mnelson at sutron.com Wed Oct 25 20:19:56 2017 From: mnelson at sutron.com (Michael R Nelson) Date: Wed, 25 Oct 2017 14:19:56 -0400 Subject: [Interest] Qt iOS - HowTo get access to Images stored at device In-Reply-To: <10c202c8-d9f1-3601-554d-087752c8d229@ekkes-corner.org> References: <10c202c8-d9f1-3601-554d-087752c8d229@ekkes-corner.org> Message-ID: <32C8071935AE4F4DB83A391C5D7ABA73101D6554@mailsvr> Hi, Here's how I make use of path passed as QString from QML context: void MyClass::saveImage(const QString &path) { QFileInfo fi(QUrl(path).toLocalFile()); if (fi.exists()) // refer to file as fi.filePath(); } Hope this helps. Mike -----Original Message----- From: Interest [mailto:interest-bounces+mnelson=sutron.com at qt-project.org] On Behalf Of ekke Sent: Wednesday, October 25, 2017 1:43 PM To: interest at qt-project.org Subject: [Interest] Qt iOS - HowTo get access to Images stored at device I need access to Images stored at iPhone to display as QML Image and upload them to REST Service. Qt 5.9.x, iOS 10+ So I added this to Info.plist: NSPhotoLibraryUsageDescription last entry of QStandardPath::PicturesLocation gives me access to assets-library:// and all Images from PhotoLibrary are listed QFileInfo then gives me this as filename: "asset.PNG?id=E8CE839A-29EA-42B2-A8FD-89B57ABEC765&ext=PNG" and this as path: "assets-library://asset/asset.PNG?id=E8CE839A-29EA-42B2-A8FD-89B57ABEC765&ext=PNG" I'm also getting the correct size of the Images from QFileInfo But I couldn't figure out HowTo get the local FileName and Path found this Forum post https://urldefense.proofpoint.com/v2/url?u=https-3A__forum.qt.io_topic_47495_upload-2Dios-2Dimage-2Dwith-2Dqt_8&d=DwICAg&c=9mghv0deYPYDGP-W745IEdQLV1kHpn4XJRvR6xMRXtA&r=81ZrscQ2yIyG6ANaI07JBq6GmZkaYdjZEl0tfKL-7tQ&m=Phg22MLI9lgE6ZSovS--7kDgJcUILk7DTC4C9SeKvUg&s=TuwQT6M0uXql8Qi-p22FD-bfz5N3Xjj8sA2QYodmM4E&e= and followed the advice there and tried: QString path("file:assets-library:/asset/"+fileInfo.fileName()); QUrl url(path); path = url.toLocalFile(); the path then looks as posted in forum post: "file:assets-library:/asset/asset.PNG?id=FB873B83-78E1-4B18-8601-0CD2CBD92308&ext=PNG" but url.toLocalFile() only gives "assets-library:/asset/asset.PNG" Any idea HowTo get access to the Photos ? thx ekke _______________________________________________ Interest mailing list Interest at qt-project.org https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.qt-2Dproject.org_mailman_listinfo_interest&d=DwICAg&c=9mghv0deYPYDGP-W745IEdQLV1kHpn4XJRvR6xMRXtA&r=81ZrscQ2yIyG6ANaI07JBq6GmZkaYdjZEl0tfKL-7tQ&m=Phg22MLI9lgE6ZSovS--7kDgJcUILk7DTC4C9SeKvUg&s=61Fr2R3WADIkrErgeLy0KtlXvFEKiDmvnLwN403P1f8&e= Please be advised that this email may contain confidential information. If you are not the intended recipient, please notify us by email by replying to the sender and delete this message. The sender disclaims that the content of this email constitutes an offer to enter into, or the acceptance of, any agreement; provided that the foregoing does not invalidate the binding effect of any digital or other electronic reproduction of a manual signature that is included in any attachment. From thiago.macieira at intel.com Wed Oct 25 21:56:45 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 25 Oct 2017 12:56:45 -0700 Subject: [Interest] Qt iOS - HowTo get access to Images stored at device In-Reply-To: <10c202c8-d9f1-3601-554d-087752c8d229@ekkes-corner.org> References: <10c202c8-d9f1-3601-554d-087752c8d229@ekkes-corner.org> Message-ID: <22871997.p4JeLgqYpG@tjmaciei-mobl1> On Wednesday, 25 October 2017 10:42:51 PDT ekke wrote: > QFileInfo then gives me this as filename: > "asset.PNG?id=E8CE839A-29EA-42B2-A8FD-89B57ABEC765&ext=PNG" > and this as path: > "assets-library://asset/asset.PNG?id=E8CE839A-29EA-42B2-A8FD-89B57ABEC765&ex > t=PNG" I'm also getting the correct size of the Images from QFileInfo > > But I couldn't figure out HowTo get the local FileName and Path Why do you want to? It looks like QFile and QFileInfo are operating properly and you can open the file. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From chgans at gmail.com Wed Oct 25 22:32:29 2017 From: chgans at gmail.com (Christian Gagneraud) Date: Thu, 26 Oct 2017 09:32:29 +1300 Subject: [Interest] [Development] Qt installation prefix path issue In-Reply-To: References: <1568868.tOqNYi3kPC@tjmaciei-mobl1> Message-ID: On 25/10/2017 11:12 PM, Maurice Kalinowski wrote: > The reason is that code.qt.io is never meant as a public searchable > tool, but its purpose has always been to reduce the load on gerrit > when doing initial clones. > > Come on people, it's not that everything is meant to be purely evil, > but as code.qt.io is there since a while, its main use-case might > have shifted. I'm not saying that everything is evil, i'm questioning if there is an intentional (or not) attempt at hiding things. > There is also the official mirroring at github https://github.com/qt > which you could use to do your daily clones and builds of Qt. Some repos are only available at code.qt.io, so maybe the solution could be to add these repos to github. Chris > To repeat, code.qt.io was meant for people contributing to Qt and > reducing the IO on gerrit as an initial setup step. Nothing more.. > > Maurice From thiago.macieira at intel.com Wed Oct 25 22:55:50 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 25 Oct 2017 13:55:50 -0700 Subject: [Interest] [Development] Qt installation prefix path issue In-Reply-To: References: Message-ID: <2247766.fITITdgNxd@tjmaciei-mobl1> On Wednesday, 25 October 2017 13:32:29 PDT Christian Gagneraud wrote: > On 25/10/2017 11:12 PM, Maurice Kalinowski wrote: > > The reason is that code.qt.io is never meant as a public searchable > > tool, but its purpose has always been to reduce the load on gerrit > > when doing initial clones. > > > > Come on people, it's not that everything is meant to be purely evil, > > but as code.qt.io is there since a while, its main use-case might > > have shifted. > > I'm not saying that everything is evil, i'm questioning if there is an > intentional (or not) attempt at hiding things. Considering the contents of that website change very frequently, I'd assume that the reason is either that there's no point indexing something that becomes stale quickly or that they want to reduce the workload on the server caused by the indexing (remember: everything is generated). -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From ekke at ekkes-corner.org Wed Oct 25 23:14:50 2017 From: ekke at ekkes-corner.org (ekke) Date: Wed, 25 Oct 2017 23:14:50 +0200 Subject: [Interest] Qt iOS - HowTo get access to Images stored at device In-Reply-To: <22871997.p4JeLgqYpG@tjmaciei-mobl1> References: <10c202c8-d9f1-3601-554d-087752c8d229@ekkes-corner.org> <22871997.p4JeLgqYpG@tjmaciei-mobl1> Message-ID: Am 25.10.17 um 21:56 schrieb Thiago Macieira: > On Wednesday, 25 October 2017 10:42:51 PDT ekke wrote: >> QFileInfo then gives me this as filename: >> "asset.PNG?id=E8CE839A-29EA-42B2-A8FD-89B57ABEC765&ext=PNG" >> and this as path: >> "assets-library://asset/asset.PNG?id=E8CE839A-29EA-42B2-A8FD-89B57ABEC765&ex >> t=PNG" I'm also getting the correct size of the Images from QFileInfo >> >> But I couldn't figure out HowTo get the local FileName and Path > Why do you want to? It looks like QFile and QFileInfo are operating properly > and you can open the file. > You're right - must be blind - Got the QFileInfo and of course then QFile also can open and read the file now only one problem left: HowTo display this file as Image in QML ? this normaly works to display the Image using the filePath from QFileInfo: Image{ id:theImage anchors.fill:parent source:"file://"+currentFile.path fillMode:Image.PreserveAspectFit } for Photos from assets-library I'm getting QML Image: Cannot open: file://assets-library//asset/asset.PNG?id=32E17445-91B9-48FE-81C6-13D4E2F01554&ext=PNG tried without "file://" - then getting QML Image: Protocol "assets-library" is unknown do you have an idea How the URL must be constructed for Image source ? thx ekke -------------- next part -------------- An HTML attachment was scrubbed... URL: From chgans at gmail.com Wed Oct 25 23:47:43 2017 From: chgans at gmail.com (Christian Gagneraud) Date: Thu, 26 Oct 2017 10:47:43 +1300 Subject: [Interest] [Development] Qt installation prefix path issue In-Reply-To: <2247766.fITITdgNxd@tjmaciei-mobl1> References: <2247766.fITITdgNxd@tjmaciei-mobl1> Message-ID: On 26/10/2017 9:55 AM, Thiago Macieira wrote: > On Wednesday, 25 October 2017 13:32:29 PDT Christian Gagneraud wrote: >> On 25/10/2017 11:12 PM, Maurice Kalinowski wrote: >>> The reason is that code.qt.io is never meant as a public searchable >>> tool, but its purpose has always been to reduce the load on gerrit >>> when doing initial clones. >>> >>> Come on people, it's not that everything is meant to be purely evil, >>> but as code.qt.io is there since a while, its main use-case might >>> have shifted. >> >> I'm not saying that everything is evil, i'm questioning if there is an >> intentional (or not) attempt at hiding things. > > Considering the contents of that website change very frequently, I'd assume > that the reason is either that there's no point indexing something that > becomes stale quickly or that they want to reduce the workload on the server > caused by the indexing (remember: everything is generated). I do understand that they want to reduce the server load, but it would be nice to be able to search from google et al ('git grep' is one thing, 'google grep' is another). When I answered your email, i would have liked to give a link, because i find these sort of things very interesting indeed. Unfortunately a quick googling didn't return anything, and i couldn't remember where exactly i saw the "relocation by patching the binaries", i'm pretty sure it was a python script in Boot2Qt. github content is indexed, and they even have their own search engine with REST API, and a new GraphQL API it seems The query "qabstractitemmodel site:github.com" on google return 1870 results for example. You can even try "qabstractitemmodel site:github.com/qt" Having said that, yes the content changes all the time, so (google) results are somehow volatile, still they tend to point you in the right direction. I sometimes found interesting git repos this way, that I then clone, grep, study, and sometimes end up contributing back. Chris PS: I don't get what you mean by "everything is generated", do you mean that HTML is generated on the fly w/o caching? From thiago.macieira at intel.com Thu Oct 26 00:21:15 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 25 Oct 2017 15:21:15 -0700 Subject: [Interest] [Development] Qt installation prefix path issue In-Reply-To: References: <2247766.fITITdgNxd@tjmaciei-mobl1> Message-ID: <1833577.nYKBrSjETK@tjmaciei-mobl1> On Wednesday, 25 October 2017 14:47:43 PDT Christian Gagneraud wrote: > > Considering the contents of that website change very frequently, I'd > > assume > > that the reason is either that there's no point indexing something that > > becomes stale quickly or that they want to reduce the workload on the > > server caused by the indexing (remember: everything is generated). > > I do understand that they want to reduce the server load, but it would > be nice to be able to search from google et al ('git grep' is one thing, > 'google grep' is another). > > When I answered your email, i would have liked to give a link, because i > find these sort of things very interesting indeed. Unfortunately a quick > googling didn't return anything, and i couldn't remember where exactly i > saw the "relocation by patching the binaries", i'm pretty sure it was a > python script in Boot2Qt. Sorry, nothing replaces having a local copy if you don't know for sure what you're looking for. Today, I spent half an hour figuring out where the different /dev/random implementations are on FreeBSD, OpenBSD, NetBSD and macOS. They're all indexed in fxr.watson.org, but the macOS copy there is stale. So I went to opensource.apple.com and GitHub. Even knowing the exact function name I'm looking for (read_random), I can't find it online. And note how GitHub isn't indexed either: https://www.google.com/search?q=read_random+site%3Agithub.com%2Fopensource-apple%2Fxnu > github content is indexed, and they even have their own search engine > with REST API, and a new GraphQL API it seems Doesn't appear to be the case for everything, as shown above. > The query "qabstractitemmodel site:github.com" on google return 1870 > results for example. > You can even try "qabstractitemmodel site:github.com/qt" > > Having said that, yes the content changes all the time, so (google) > results are somehow volatile, still they tend to point you in the right > direction. I sometimes found interesting git repos this way, that I then > clone, grep, study, and sometimes end up contributing back. And I found out that read_random() is now a system call on FreeBSD, bypassing the ARC4 algorithm, and that getentropy() does exist on macOS and on Solaris, and that Qt check is just missing an #include. > PS: I don't get what you mean by "everything is generated", do you mean > that HTML is generated on the fly w/o caching? Yes. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From thiago.macieira at intel.com Thu Oct 26 00:27:50 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 25 Oct 2017 15:27:50 -0700 Subject: [Interest] Qt iOS - HowTo get access to Images stored at device In-Reply-To: References: <10c202c8-d9f1-3601-554d-087752c8d229@ekkes-corner.org> <22871997.p4JeLgqYpG@tjmaciei-mobl1> Message-ID: <6322629.FWJPMhOZPx@tjmaciei-mobl1> On Wednesday, 25 October 2017 14:14:50 PDT ekke wrote: > You're right - must be blind - Got the QFileInfo and of course then > QFile also can open and read the file > > now only one problem left: HowTo display this file as Image in QML ? I think there's a proper URL format for them. I don't know, since I don't write QML code nor for any mobile platform, so this issue has never occurred to me. Others may chime in. The only thing you shouldn't do is this: > source:"file://"+currentFile.path NEVER form URLs from file paths by concatenation. Always use QUrl::fromLocalFile() [and whatever passes for QML's equivalent] to make sure that special characters get quoted properly. Special characters like '?': > for Photos from assets-library I'm getting QML Image: Cannot open: > file://assets-library//asset/asset.PNG?id=32E17445-91B9-48FE-81C6-13D4E2F015 > 54&ext=PNG Your file was called assets-library://asset/asset.PNG? id=32E17445-91B9-48FE-81C6-13D4E2F01554&ext=PNG The URL you formed resulted in host = "assets-library" path = "//asset/asset.PNG" query = "id=32E17445-91B9-48FE-81C6-13D4E2F01554&ext=PNG" Whereas if you had used QUrl::fromLocalFile, you'd have got file:assets-library://asset/asset.PNG %3Fid=32E17445-91B9-48FE-81C6-13D4E2F01554&ext=PNG -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From chgans at gmail.com Thu Oct 26 00:41:48 2017 From: chgans at gmail.com (Christian Gagneraud) Date: Thu, 26 Oct 2017 11:41:48 +1300 Subject: [Interest] [Development] Qt installation prefix path issue In-Reply-To: <1833577.nYKBrSjETK@tjmaciei-mobl1> References: <2247766.fITITdgNxd@tjmaciei-mobl1> <1833577.nYKBrSjETK@tjmaciei-mobl1> Message-ID: On 26/10/2017 11:21 AM, Thiago Macieira wrote: > On Wednesday, 25 October 2017 14:47:43 PDT Christian Gagneraud wrote: >>> Considering the contents of that website change very frequently, I'd >>> assume >>> that the reason is either that there's no point indexing something that >>> becomes stale quickly or that they want to reduce the workload on the >>> server caused by the indexing (remember: everything is generated). >> >> I do understand that they want to reduce the server load, but it would >> be nice to be able to search from google et al ('git grep' is one thing, >> 'google grep' is another). >> >> When I answered your email, i would have liked to give a link, because i >> find these sort of things very interesting indeed. Unfortunately a quick >> googling didn't return anything, and i couldn't remember where exactly i >> saw the "relocation by patching the binaries", i'm pretty sure it was a >> python script in Boot2Qt. > > Sorry, nothing replaces having a local copy if you don't know for sure what > you're looking for. Today, I spent half an hour figuring out where the > different /dev/random implementations are on FreeBSD, OpenBSD, NetBSD and > macOS. They're all indexed in fxr.watson.org, but the macOS copy there is > stale. So I went to opensource.apple.com and GitHub. Even knowing the exact > function name I'm looking for (read_random), I can't find it online. > > And note how GitHub isn't indexed either: > https://www.google.com/search?q=read_random+site%3Agithub.com%2Fopensource-apple%2Fxnu Interesting "read_random site:github.com/apple/darwin-xnu" returns 6 results. One of them points to bsd/sys/random.h, is this your missing include? ;P Maybe the forked repo is too new (created on the 1st of october), or maybe google indexes only "big orgs". Chris > >> github content is indexed, and they even have their own search engine >> with REST API, and a new GraphQL API it seems > > Doesn't appear to be the case for everything, as shown above. > >> The query "qabstractitemmodel site:github.com" on google return 1870 >> results for example. >> You can even try "qabstractitemmodel site:github.com/qt" >> >> Having said that, yes the content changes all the time, so (google) >> results are somehow volatile, still they tend to point you in the right >> direction. I sometimes found interesting git repos this way, that I then >> clone, grep, study, and sometimes end up contributing back. > > And I found out that read_random() is now a system call on FreeBSD, bypassing > the ARC4 algorithm, and that getentropy() does exist on macOS and on Solaris, > and that Qt check is just missing an #include. > >> PS: I don't get what you mean by "everything is generated", do you mean >> that HTML is generated on the fly w/o caching? > > Yes. > From thiago.macieira at intel.com Thu Oct 26 01:05:48 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 25 Oct 2017 16:05:48 -0700 Subject: [Interest] [Development] Qt installation prefix path issue In-Reply-To: References: <1833577.nYKBrSjETK@tjmaciei-mobl1> Message-ID: <2856064.XezIUsOVVf@tjmaciei-mobl1> On Wednesday, 25 October 2017 15:41:48 PDT Christian Gagneraud wrote: > Interesting "read_random site:github.com/apple/darwin-xnu" returns 6 > results. One of them points to bsd/sys/random.h, is this your missing > include? ;P Yes, is what we are missing. The Linux and OpenBSD getentropy() functions are documented to be declared in , but the macOS and Solaris ones are in . I'm tempted to not fix this and blame Apple and Oracle developers for not following 3 years of precedence from OpenBSD. > Maybe the forked repo is too new (created on the 1st of october), or > maybe google indexes only "big orgs". "opensource-apple" sounds official to me. It's what Google brought me to when I searched for the xnu source code, after opensource.apple.com of course. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From ekke at ekkes-corner.org Thu Oct 26 01:15:43 2017 From: ekke at ekkes-corner.org (ekke) Date: Thu, 26 Oct 2017 01:15:43 +0200 Subject: [Interest] Qt iOS - HowTo get access to Images stored at device In-Reply-To: <6322629.FWJPMhOZPx@tjmaciei-mobl1> References: <10c202c8-d9f1-3601-554d-087752c8d229@ekkes-corner.org> <22871997.p4JeLgqYpG@tjmaciei-mobl1> <6322629.FWJPMhOZPx@tjmaciei-mobl1> Message-ID: <33a6b42f-47e7-592f-ea1e-15c8f6bd6701@ekkes-corner.org> thanks for your detailed explanation changed to source: Qt.resolvedUrl("file://"+currentFile.path) getting QML Image: Cannot open: file://assets-library/asset/asset.PNG hopefully someone knows the correct URL format for iOS assets-library ekke Am 26.10.17 um 00:27 schrieb Thiago Macieira: > On Wednesday, 25 October 2017 14:14:50 PDT ekke wrote: >> You're right - must be blind - Got the QFileInfo and of course then >> QFile also can open and read the file >> >> now only one problem left: HowTo display this file as Image in QML ? > I think there's a proper URL format for them. I don't know, since I don't > write QML code nor for any mobile platform, so this issue has never occurred > to me. Others may chime in. > > The only thing you shouldn't do is this: > >> source:"file://"+currentFile.path > NEVER form URLs from file paths by concatenation. Always use > QUrl::fromLocalFile() [and whatever passes for QML's equivalent] to make sure > that special characters get quoted properly. > > Special characters like '?': > >> for Photos from assets-library I'm getting QML Image: Cannot open: >> file://assets-library//asset/asset.PNG?id=32E17445-91B9-48FE-81C6-13D4E2F015 >> 54&ext=PNG > Your file was called > > assets-library://asset/asset.PNG? > id=32E17445-91B9-48FE-81C6-13D4E2F01554&ext=PNG > > The URL you formed resulted in > > host = "assets-library" > path = "//asset/asset.PNG" > query = "id=32E17445-91B9-48FE-81C6-13D4E2F01554&ext=PNG" > > Whereas if you had used QUrl::fromLocalFile, you'd have got > > file:assets-library://asset/asset.PNG > %3Fid=32E17445-91B9-48FE-81C6-13D4E2F01554&ext=PNG > -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Thu Oct 26 01:37:59 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 25 Oct 2017 16:37:59 -0700 Subject: [Interest] Qt iOS - HowTo get access to Images stored at device In-Reply-To: <33a6b42f-47e7-592f-ea1e-15c8f6bd6701@ekkes-corner.org> References: <10c202c8-d9f1-3601-554d-087752c8d229@ekkes-corner.org> <6322629.FWJPMhOZPx@tjmaciei-mobl1> <33a6b42f-47e7-592f-ea1e-15c8f6bd6701@ekkes-corner.org> Message-ID: <5341012.U8aAuvyppE@tjmaciei-mobl1> On Wednesday, 25 October 2017 16:15:43 PDT ekke wrote: > source: Qt.resolvedUrl("file://"+currentFile.path) You're still forming a URL by concatenation. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From chgans at gmail.com Thu Oct 26 05:03:43 2017 From: chgans at gmail.com (Christian Gagneraud) Date: Thu, 26 Oct 2017 16:03:43 +1300 Subject: [Interest] [Development] Qt installation prefix path issue In-Reply-To: <2856064.XezIUsOVVf@tjmaciei-mobl1> References: <1833577.nYKBrSjETK@tjmaciei-mobl1> <2856064.XezIUsOVVf@tjmaciei-mobl1> Message-ID: On 26/10/2017 12:05 PM, Thiago Macieira wrote: > On Wednesday, 25 October 2017 15:41:48 PDT Christian Gagneraud wrote: >> Interesting "read_random site:github.com/apple/darwin-xnu" returns 6 >> results. One of them points to bsd/sys/random.h, is this your missing >> include? ;P > > Yes, is what we are missing. The Linux and OpenBSD getentropy() > functions are documented to be declared in , but the macOS and > Solaris ones are in . I'm tempted to not fix this and blame Apple > and Oracle developers for not following 3 years of precedence from OpenBSD. > >> Maybe the forked repo is too new (created on the 1st of october), or >> maybe google indexes only "big orgs". > > "opensource-apple" sounds official to me. It's what Google brought me to when I > searched for the xnu source code, after opensource.apple.com of course. Even "read_random xnu site:github.com" returns the result that point to bsd/sys/random.h in the apple/darwin-xnu repo (ranked 4 for me) Anyway, my point was that it would be really nice if more Qt repos would be searchable from google or github. Chris From thiago.macieira at intel.com Thu Oct 26 05:55:41 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 25 Oct 2017 20:55:41 -0700 Subject: [Interest] [Development] Qt installation prefix path issue In-Reply-To: References: <2856064.XezIUsOVVf@tjmaciei-mobl1> Message-ID: <6867992.J4bU1TI6kW@tjmaciei-mobl1> On Wednesday, 25 October 2017 20:03:43 PDT Christian Gagneraud wrote: > Even "read_random xnu site:github.com" returns the result that point to > bsd/sys/random.h in the apple/darwin-xnu repo (ranked 4 for me) By the way, I was looking for the implementation of this function, not the header definition. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From chgans at gmail.com Thu Oct 26 06:47:07 2017 From: chgans at gmail.com (Christian Gagneraud) Date: Thu, 26 Oct 2017 17:47:07 +1300 Subject: [Interest] [Development] Qt installation prefix path issue In-Reply-To: <6867992.J4bU1TI6kW@tjmaciei-mobl1> References: <2856064.XezIUsOVVf@tjmaciei-mobl1> <6867992.J4bU1TI6kW@tjmaciei-mobl1> Message-ID: <6a61bd32-40dd-73bf-1923-b0a3fcf27ca0@gmail.com> On 26/10/2017 4:55 PM, Thiago Macieira wrote: > On Wednesday, 25 October 2017 20:03:43 PDT Christian Gagneraud wrote: >> Even "read_random xnu site:github.com" returns the result that point to >> bsd/sys/random.h in the apple/darwin-xnu repo (ranked 4 for me) > > By the way, I was looking for the implementation of this function, not the > header definition. I've just typed "read_random" in the search box of https://github.com/apple/darwin-xnu/ results: https://github.com/apple/darwin-xnu/search?utf8=%E2%9C%93&q=read_random+&type= Answer is item 6: osfmk/prng/random.c See, it works! ;) Chris From thiago.macieira at intel.com Thu Oct 26 06:51:02 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Wed, 25 Oct 2017 21:51:02 -0700 Subject: [Interest] [Development] Qt installation prefix path issue In-Reply-To: <6a61bd32-40dd-73bf-1923-b0a3fcf27ca0@gmail.com> References: <6867992.J4bU1TI6kW@tjmaciei-mobl1> <6a61bd32-40dd-73bf-1923-b0a3fcf27ca0@gmail.com> Message-ID: <3045150.fAdieNRC0B@tjmaciei-mobl1> On Wednesday, 25 October 2017 21:47:07 PDT Christian Gagneraud wrote: > results: > https://github.com/apple/darwin-xnu/search?utf8=%E2%9C%93&q=read_random+&typ > e= > > Answer is item 6: osfmk/prng/random.c > > See, it works! ;) Hmmm... This also works *now*: https://github.com/apple-opensource/xnu/search?utf8=%E2%9C %93&q=read_random&type= I can tell you that I searched on this repository earlier today and it found nothing. GitHub must have been acting up. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From chgans at gmail.com Thu Oct 26 07:01:50 2017 From: chgans at gmail.com (Christian Gagneraud) Date: Thu, 26 Oct 2017 18:01:50 +1300 Subject: [Interest] [Development] Qt installation prefix path issue In-Reply-To: <3045150.fAdieNRC0B@tjmaciei-mobl1> References: <6867992.J4bU1TI6kW@tjmaciei-mobl1> <6a61bd32-40dd-73bf-1923-b0a3fcf27ca0@gmail.com> <3045150.fAdieNRC0B@tjmaciei-mobl1> Message-ID: <8c662f85-9ea0-b1e8-6980-e368a6738da9@gmail.com> On 26/10/2017 5:51 PM, Thiago Macieira wrote: > On Wednesday, 25 October 2017 21:47:07 PDT Christian Gagneraud wrote: >> results: >> https://github.com/apple/darwin-xnu/search?utf8=%E2%9C%93&q=read_random+&typ >> e= >> >> Answer is item 6: osfmk/prng/random.c >> >> See, it works! ;) > > Hmmm... > > This also works *now*: > https://github.com/apple-opensource/xnu/search?utf8=%E2%9C > %93&q=read_random&type= > > I can tell you that I searched on this repository earlier today and it found > nothing. GitHub must have been acting up. Go on Thiago! Say it please: "it would be really nice if more Qt repos would be searchable from google or github" ;) Chris From ekke at ekkes-corner.org Thu Oct 26 08:07:10 2017 From: ekke at ekkes-corner.org (ekke) Date: Thu, 26 Oct 2017 08:07:10 +0200 Subject: [Interest] Qt iOS - HowTo get access to Images stored at device In-Reply-To: <32C8071935AE4F4DB83A391C5D7ABA73101D6554@mailsvr> References: <10c202c8-d9f1-3601-554d-087752c8d229@ekkes-corner.org> <32C8071935AE4F4DB83A391C5D7ABA73101D6554@mailsvr> Message-ID: <3ebb5bc3-1efe-cded-6bfa-c901e3fa1d4b@ekkes-corner.org> Hi Michael, it's the other way around (C++ to QML) from QStandardPaths::standardLocations(QStandardPaths::PicturesLocation).last() I create QDir and from entryInfoList() I'm getting QFileInfo and use .filePath() to open QFile, so I can upload the Image to REST Service This works on Android for all Locations and also iOS assets-library Now I also want to display this filePath as QML Image I did it this way and it worked on Android, also on iOS if dealing with App Data, but not for assets-library source: "file://"+currentFile.path BTW: most examples I found are forming the Url for QML Image source by concatenation from Thiago I learned that I shouldn't do this, so I tried source: Qt.resolvedUrl("file://"+currentFile.path) but this seems also to be wrong because I'm again forming the URL by concatenation so now I'm having two questions: a) HowTo set QML Image source the correct way without concatenation b) what's the correct URI under iOS for assets-library to be used in QML Image source thx ekke Am 25.10.17 um 20:19 schrieb Michael R Nelson: > Hi, > > Here's how I make use of path passed as QString from QML context: > > void MyClass::saveImage(const QString &path) > { > QFileInfo fi(QUrl(path).toLocalFile()); > if (fi.exists()) > // refer to file as fi.filePath(); > } > > Hope this helps. > > Mike -------------- next part -------------- An HTML attachment was scrubbed... URL: From Sudhir.Sharma at mindtree.com Thu Oct 26 08:38:43 2017 From: Sudhir.Sharma at mindtree.com (Sudhir Sharma) Date: Thu, 26 Oct 2017 06:38:43 +0000 Subject: [Interest] File Dialog in WebEngine References: <1517688.l9p8PlvTLI@twilight> Message-ID: Any ideas on this issue? Regards, Sudhir -----Original Message----- From: Sudhir Sharma Sent: Tuesday, October 24, 2017 3:42 PM To: 'Allan Sandfeld Jensen' ; interest at qt-project.org Subject: RE: [Interest] File Dialog in WebEngine Using JS library "FileSaver.js". Function Calls: Invoke File Save dialog with call "saveAs" Regards, Sudhir -----Original Message----- From: Allan Sandfeld Jensen [mailto:kde at carewolf.com] Sent: Monday, October 23, 2017 5:57 PM To: interest at qt-project.org Cc: Sudhir Sharma Subject: Re: [Interest] File Dialog in WebEngine * You are receiving this mail from an external source * On Montag, 23. Oktober 2017 13:50:51 CEST Sudhir Sharma wrote: > Hi, > > In 5.9.2, when we try to invoke File Dialog from html loaded in > WebEngine, it does not get open. If the same url is opened in web browser, it works. > > Any idea? > How are you trying to invoke it from HTML? 'Allan ________________________________ http://www.mindtree.com/email/disclaimer.html From thiago.macieira at intel.com Thu Oct 26 09:57:31 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Thu, 26 Oct 2017 00:57:31 -0700 Subject: [Interest] [Development] Qt installation prefix path issue In-Reply-To: <8c662f85-9ea0-b1e8-6980-e368a6738da9@gmail.com> References: <3045150.fAdieNRC0B@tjmaciei-mobl1> <8c662f85-9ea0-b1e8-6980-e368a6738da9@gmail.com> Message-ID: <3407605.2lsQUsZkXe@tjmaciei-mobl1> On Wednesday, 25 October 2017 22:01:50 PDT Christian Gagneraud wrote: > Go on Thiago! Say it please: "it would be really nice if more Qt repos > would be searchable from google or github" ;) I never denied that. Of course they would. Though in my case, I usually already know where what I'm looking for is. And the best source code browser is code.woboq.com. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From annulen at yandex.ru Thu Oct 26 11:27:01 2017 From: annulen at yandex.ru (Konstantin Tokarev) Date: Thu, 26 Oct 2017 12:27:01 +0300 Subject: [Interest] [Development] Qt installation prefix path issue In-Reply-To: <2247766.fITITdgNxd@tjmaciei-mobl1> References: <2247766.fITITdgNxd@tjmaciei-mobl1> Message-ID: <104991509010021@web27j.yandex.ru> 25.10.2017, 23:56, "Thiago Macieira" : > On Wednesday, 25 October 2017 13:32:29 PDT Christian Gagneraud wrote: >>  On 25/10/2017 11:12 PM, Maurice Kalinowski wrote: >>  > The reason is that code.qt.io is never meant as a public searchable >>  > tool, but its purpose has always been to reduce the load on gerrit >>  > when doing initial clones. >>  > >>  > Come on people, it's not that everything is meant to be purely evil, >>  > but as code.qt.io is there since a while, its main use-case might >>  > have shifted. >> >>  I'm not saying that everything is evil, i'm questioning if there is an >>  intentional (or not) attempt at hiding things. > > Considering the contents of that website change very frequently, I'd assume > that the reason is either that there's no point indexing something that > becomes stale quickly or that they want to reduce the workload on the server > caused by the indexing (remember: everything is generated). It's possible to overcome this by enabling caching on reverse proxy server (Apache in this case). For "plain text" views CGit provides ETag header, which is a hash of file contents. This header can be used for cache revalidation, and also good HTTP agents witch cache will send it back on next access and get 304 instead of serving full file contents. Given that a lot of files don't change e.g. during day, that should create a huge load on server even if crawlers and users coming from search engines start do more requests. For "pretty" HTML views there seems to be no etags so they have to be regenerated once in a while (every 5 minutes with current server settings). > > -- > Thiago Macieira - thiago.macieira (AT) intel.com >   Software Architect - Intel Open Source Technology Center > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -- Regards, Konstantin From Sudhir.Sharma at mindtree.com Thu Oct 26 12:20:16 2017 From: Sudhir.Sharma at mindtree.com (Sudhir Sharma) Date: Thu, 26 Oct 2017 10:20:16 +0000 Subject: [Interest] WebEngine with Intel Graphics Card Message-ID: Hi, In Windows 10 with QT 5.9.2, WebEngine has issue in rendering gui. Facing this issue when we have intel graphics card. Works fine on disabling card or in machine with MS card. Is it a known issue? Sorry if I missed any earlier communication. Regards, Sudhir ________________________________ http://www.mindtree.com/email/disclaimer.html -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexandru.croitor at qt.io Thu Oct 26 12:50:46 2017 From: alexandru.croitor at qt.io (Alexandru Croitor) Date: Thu, 26 Oct 2017 10:50:46 +0000 Subject: [Interest] WebEngine with Intel Graphics Card In-Reply-To: References: Message-ID: <70293CD4-5BDA-480B-9472-883903BC13D8@qt.io> Hi, We get quite a few bug reports with issues regarding intel graphic cards, and their drivers. So it's plausible that you might have issues because of that. On 26. Oct 2017, at 12:20, Sudhir Sharma > wrote: Hi, In Windows 10 with QT 5.9.2, WebEngine has issue in rendering gui. Facing this issue when we have intel graphics card. Works fine on disabling card or in machine with MS card. Is it a known issue? Sorry if I missed any earlier communication. Regards, Sudhir ________________________________ http://www.mindtree.com/email/disclaimer.html _______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From Sudhir.Sharma at mindtree.com Thu Oct 26 12:53:38 2017 From: Sudhir.Sharma at mindtree.com (Sudhir Sharma) Date: Thu, 26 Oct 2017 10:53:38 +0000 Subject: [Interest] WebEngine with Intel Graphics Card In-Reply-To: <70293CD4-5BDA-480B-9472-883903BC13D8@qt.io> References: <70293CD4-5BDA-480B-9472-883903BC13D8@qt.io> Message-ID: Thanks for your response. So any idea how can we resolve it? Any solution you are aware of or I should search in bugs? Regards, Sudhir From: Alexandru Croitor [mailto:alexandru.croitor at qt.io] Sent: Thursday, October 26, 2017 4:21 PM To: Sudhir Sharma Cc: interest at qt-project.org Subject: Re: [Interest] WebEngine with Intel Graphics Card * You are receiving this mail from an external source * Hi, We get quite a few bug reports with issues regarding intel graphic cards, and their drivers. So it's plausible that you might have issues because of that. On 26. Oct 2017, at 12:20, Sudhir Sharma > wrote: Hi, In Windows 10 with QT 5.9.2, WebEngine has issue in rendering gui. Facing this issue when we have intel graphics card. Works fine on disabling card or in machine with MS card. Is it a known issue? Sorry if I missed any earlier communication. Regards, Sudhir ________________________________ http://www.mindtree.com/email/disclaimer.html _______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexandru.croitor at qt.io Thu Oct 26 13:01:18 2017 From: alexandru.croitor at qt.io (Alexandru Croitor) Date: Thu, 26 Oct 2017 11:01:18 +0000 Subject: [Interest] WebEngine with Intel Graphics Card In-Reply-To: References: <70293CD4-5BDA-480B-9472-883903BC13D8@qt.io> Message-ID: <7D2E5A71-EBB8-47F8-BF09-8AEAF4530338@qt.io> The usual solutions are: 1) Update to latest drivers 2) Try running Qt in ANGLE mode, rather than Desktop GL mode 3) Use software rendering 4) Switch to another GPU On 26. Oct 2017, at 12:53, Sudhir Sharma > wrote: Thanks for your response. So any idea how can we resolve it? Any solution you are aware of or I should search in bugs? Regards, Sudhir From: Alexandru Croitor [mailto:alexandru.croitor at qt.io] Sent: Thursday, October 26, 2017 4:21 PM To: Sudhir Sharma > Cc: interest at qt-project.org Subject: Re: [Interest] WebEngine with Intel Graphics Card * You are receiving this mail from an external source * Hi, We get quite a few bug reports with issues regarding intel graphic cards, and their drivers. So it's plausible that you might have issues because of that. On 26. Oct 2017, at 12:20, Sudhir Sharma > wrote: Hi, In Windows 10 with QT 5.9.2, WebEngine has issue in rendering gui. Facing this issue when we have intel graphics card. Works fine on disabling card or in machine with MS card. Is it a known issue? Sorry if I missed any earlier communication. Regards, Sudhir ________________________________ http://www.mindtree.com/email/disclaimer.html _______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From alex at golks.de Thu Oct 26 13:03:18 2017 From: alex at golks.de (alexander golks) Date: Thu, 26 Oct 2017 13:03:18 +0200 Subject: [Interest] WebEngine with Intel Graphics Card In-Reply-To: References: <70293CD4-5BDA-480B-9472-883903BC13D8@qt.io> Message-ID: <20171026130318.515cec10@gollum2.gollum.uni.cx> hi, our solution was to tell our customers to not use intel graphic cards ;) you might succeed with blacklisting the graphics cards in some way, so that qt will not use it. but i haven't investigate on how to do it. alex Am Thu, 26 Oct 2017 10:53:38 +0000 schrieb Sudhir Sharma : > Thanks for your response. > So any idea how can we resolve it? Any solution you are aware of or I should search in bugs? > > Regards, > Sudhir > > From: Alexandru Croitor [mailto:alexandru.croitor at qt.io] > Sent: Thursday, October 26, 2017 4:21 PM > To: Sudhir Sharma > Cc: interest at qt-project.org > Subject: Re: [Interest] WebEngine with Intel Graphics Card > > > * You are receiving this mail from an external source * > Hi, > > We get quite a few bug reports with issues regarding intel graphic cards, and their drivers. > > So it's plausible that you might have issues because of that. > > > On 26. Oct 2017, at 12:20, Sudhir Sharma > wrote: > > Hi, > > In Windows 10 with QT 5.9.2, WebEngine has issue in rendering gui. > Facing this issue when we have intel graphics card. Works fine on disabling card or in machine with MS card. > > Is it a known issue? Sorry if I missed any earlier communication. > > Regards, > Sudhir > > ________________________________ > > http://www.mindtree.com/email/disclaimer.html > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -- /* * panic("Oh boy, that early out of memory?"); * linux-2.2.16/arch/mips/mm/init.c */ From ola at silentwings.no Thu Oct 26 13:16:43 2017 From: ola at silentwings.no (=?UTF-8?Q?Ola_R=C3=B8er_Thorsen?=) Date: Thu, 26 Oct 2017 13:16:43 +0200 Subject: [Interest] Webgl (streaming) platform plugin in Qt 5.10 missing? Message-ID: Is the new webgl streaming platform plugin supposed to be included in the Qt 5.10 Linux installer, or do I have to build Qt from source to use this? The platform plugin is as far as I can see not included in the current beta2 (installed using the online installer). Ola -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeffrey.brendecke at gmail.com Thu Oct 26 14:52:11 2017 From: jeffrey.brendecke at gmail.com (Jeffrey Brendecke) Date: Thu, 26 Oct 2017 14:52:11 +0200 Subject: [Interest] Qt iOS - HowTo get access to Images stored at device In-Reply-To: References: Message-ID: > On 26. Oct 2017, at 13:10, interest-request at qt-project.org wrote: > > From: ekke > > Subject: Re: [Interest] Qt iOS - HowTo get access to Images stored at device > Date: 26. October 2017 at 08:07:10 GMT+2 > To: "interest at qt-project.org " > > > > Hi Michael, > > it's the other way around (C++ to QML) > > from > QStandardPaths::standardLocations(QStandardPaths::PicturesLocation).last() > > I create QDir and from entryInfoList() I'm getting QFileInfo and use .filePath() to open QFile, so I can upload the Image to REST Service > This works on Android for all Locations and also iOS assets-library > > Now I also want to display this filePath as QML Image > I did it this way and it worked on Android, also on iOS if dealing with App Data, but not for assets-library > source: "file://" <>+currentFile.path > BTW: most examples I found are forming the Url for QML Image source by concatenation > > from Thiago I learned that I shouldn't do this, so I tried > source: Qt.resolvedUrl("file://" <>+currentFile.path) > but this seems also to be wrong because I'm again forming the URL by concatenation > > so now I'm having two questions: > a) HowTo set QML Image source the correct way without concatenation > b) what's the correct URI under iOS for assets-library to be used in QML Image source > > thx > > ekke > > > Am 25.10.17 um 20:19 schrieb Michael R Nelson: >> Hi, >> >> Here's how I make use of path passed as QString from QML context: >> >> void MyClass::saveImage(const QString &path) >> { >> QFileInfo fi(QUrl(path).toLocalFile()); >> if (fi.exists()) >> // refer to file as fi.filePath(); >> } >> >> Hope this helps. >> >> Mike > Hello Ekke, It looks like the Asset Library Framework has been deprecated as of iOS 9: https://developer.apple.com/documentation/photos/phasset?language=objc The new way to access the assets is through the Photos framework. The above link contains links to the relevant classes. The Photos framework is feature rich and allows you to access images separate from their adjustment data or with the adjustments applied. The solution involves working with Objective-C++, but using this API is probably unavoidable given that Apple has moved away from managing images as files on a local file system. I hope this is of help to you, Jeffrey -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeffrey.brendecke at gmail.com Thu Oct 26 15:09:03 2017 From: jeffrey.brendecke at gmail.com (Jeffrey Brendecke) Date: Thu, 26 Oct 2017 15:09:03 +0200 Subject: [Interest] Compiling the latest Qt versions post-5.10 In-Reply-To: <0F062AAB-E935-44D6-91ED-CD4A912A882F@gmail.com> References: <25F1B239-454A-4EDC-9A5E-E6EBE04C3E6B@gmail.com> <701B478D-7FE6-4B36-9ACB-2E178BD64031@gmail.com> <0F062AAB-E935-44D6-91ED-CD4A912A882F@gmail.com> Message-ID: <805CFE57-7F6A-4C80-8D98-991FFCE685E2@gmail.com> > On 22. Oct 2017, at 21:23, Jeffrey Brendecke wrote: > > >> On 22. Oct 2017, at 15:42, Sze Howe Koh > wrote: >> >> On 22 October 2017 at 20:21, Jeffrey Brendecke >> > wrote: >>> >>> On 21. Oct 2017, at 15:56, Jeffrey Brendecke > >>> wrote: >>> >>> Is it possible to access the latest development branches for Qt versions >>> after 5.10? >>> >>> If so, where do I get the source and are there compilation/installation >>> instructions beyond what is found here: >>> >>> https://wiki.qt.io/Building_Qt_5_from_Git >>> >>> >>> The process for cloning and checking out the dev branch goes fine until >>> qtnetworkauth. At that point I am consistently prompted to authenticate, >>> which does not succeed with my GitHub account. >>> >>> Do I need to be registered anywhere as a user in order to get access? I just >>> want read-only access at this time. >>> >>> $ git clone https://github.com/qtproject/qt5.git --branch dev >> >> No registration is required. >> >> >> === EXPLANATION === >> Some time ago, the libraries moved from https://github.com/qtproject/ >> to https://github.com/qt/ . >> >> So, https://github.com/qtproject/qt5.git now redirects to >> https://github.com/qt/qt5.git (try it in your web browser). GitHub >> takes care of the redirection when you clone. >> >> However, Qt Network Authorization is a much newer module. It never >> existed under the old qtproject account, so a redirection doesn't >> exist. You can go to https://github.com/qt/qtnetworkauth.git , but >> https://github.com/qtproject/qtnetworkauth.git gives error 404. >> >> >> === SOLUTION === >> If you edit your the qt5/.git/config file and set remote "origin" to >> https://github.com/qt/qt5.git , you should be able to run the >> init-repository script again. (You might need to use the --force >> option) >> >> If all that is too hard, you can also delete everything, clone >> https://code.qt.io/qt/qt5.git (as recommended by the wiki), and run >> init-repository from scratch. >> >> >>> $ cd qt5 >>> $ git checkout dev >>> $ perl init-repository >>> --module-subset=default,-qtwebkit,-qtwebkit-examples,-qtwebengine >>> >>> Error message: >>> + git clone --no-checkout https://github.com/qtproject/qtnetworkauth.git >>> qtnetworkauth >>> Cloning into 'qtnetworkauth'... >>> Username for 'https://github.com': XXXX >>> Password for 'https://XXXX at github.com': >>> remote: Invalid username or password. >>> fatal: Authentication failed for >>> 'https://github.com/qtproject/qtnetworkauth.git/ ' >>> git clone --no-checkout https://github.com/qtproject/qtnetworkauth.git >>> qtnetworkauth exited with status 32768 at init-repository line 198. >>> Qt::InitRepository::exe('Qt::InitRepository=HASH(0x7f89f2803ff0)', 'git', >>> 'clone', '--no-checkout', 'https://github.com/qtproject/qtnetworkauth.git ', >>> 'qtnetworkauth') called at init-repository line 534 >>> Qt::InitRepository::git_clone_one_submodule('Qt::InitRepository=HASH(0x7f89f2803ff0)', >>> 'qtnetworkauth', 'qtnetworkauth.git', 0) called at init-repository line 407 >>> Qt::InitRepository::git_clone_all_submodules('Qt::InitRepository=HASH(0x7f89f2803ff0)', >>> 'qt5', 0, 'preview', 'essential', 'addon', 'deprecated', '-qtwebkit', >>> '-qtwebkit-examples', ...) called at init-repository line 644 >>> Qt::InitRepository::run('Qt::InitRepository=HASH(0x7f89f2803ff0)') called at >>> init-repository line 655 >> >> >> Regards, >> Sze-Howe > > > Thanks, that fixed that problem: > >> If you edit your the qt5/.git/config file and set remote "origin" to >> https://github.com/qt/qt5.git , you should be able to run the >> init-repository script again. (You might need to use the --force >> option) > > > Now, another issue has appeared with qtlocation-mapboxgl.git: > > + git config remote.gerrit.url ssh://codereview.qt-project.org/qt/qtlocation-mapboxgl.git > + git config remote.gerrit.fetch +refs/heads/*:refs/remotes/gerrit/* /heads/ > + git submodule update --force --no-fetch > fatal: Needed a single revision > Unable to find current revision in submodule path 'src/3rdparty/mapbox-gl-native' > git submodule update --force --no-fetch exited with status 256 at init-repository line 198. > Qt::InitRepository::exe('Qt::InitRepository=HASH(0x7ffd58802ff0)', 'git', 'submodule', 'update', '--force', '--no-fetch') called at init-repository line 429 > Qt::InitRepository::git_clone_all_submodules('Qt::InitRepository=HASH(0x7ffd58802ff0)', 'qtlocation.git', 0, 'all') called at init-repository line 435 > Qt::InitRepository::git_clone_all_submodules('Qt::InitRepository=HASH(0x7ffd58802ff0)', 'qt5', 0, 'preview', 'essential', 'addon', 'deprecated', '-qtwebkit', '-qtwebkit-examples', ...) called at init-repository line 644 > Qt::InitRepository::run('Qt::InitRepository=HASH(0x7ffd58802ff0)') called at init-repository line 655 > > Is there a fix for this? Is this documented anywhere? > > Thanks very much for your assistance. -- For some reason it appears my last post was not received at interest at qt-project.org , so I am resending. Thank you in advance for any assistance, Jeffrey -------------- next part -------------- An HTML attachment was scrubbed... URL: From ekke at ekkes-corner.org Thu Oct 26 15:12:26 2017 From: ekke at ekkes-corner.org (ekke) Date: Thu, 26 Oct 2017 15:12:26 +0200 Subject: [Interest] Qt iOS - HowTo get access to Images stored at device In-Reply-To: References: Message-ID: <3627758f-e94e-d481-3803-217d9dba8d02@ekkes-corner.org> Jeffrey, thx at the moment it's ok for me to use QStandardPaths::standardLocations(QStandardPaths::PicturesLocation).last() Using Objective-C++ Photos framework would give some more comfort, but wouldn't help to access these Photos from QML it seems that there's no way to construct an URL in QML to access files from assets-library so probably the best way is to write an ImageProvider to access these Images from QML ekke Am 26.10.17 um 14:52 schrieb Jeffrey Brendecke: > >> On 26. Oct 2017, at 13:10, interest-request at qt-project.org >> wrote: >> >> ... > > Hello Ekke, > > It looks like the Asset Library Framework has been deprecated as of iOS 9: > > https://developer.apple.com/documentation/photos/phasset?language=objc > > The new way to access the assets is through the Photos framework. The > above link contains links to the relevant classes. The Photos > framework is feature rich and allows you to access images separate > from their adjustment data or with the adjustments applied. > > The solution involves working with Objective-C++, but using this API > is probably unavoidable given that Apple has moved away from managing > images as files on a local file system. > > I hope this is of help to you, > > Jeffrey -------------- next part -------------- An HTML attachment was scrubbed... URL: From Shawn.Rutledge at qt.io Thu Oct 26 16:11:54 2017 From: Shawn.Rutledge at qt.io (Shawn Rutledge) Date: Thu, 26 Oct 2017 14:11:54 +0000 Subject: [Interest] Qt iOS - HowTo get access to Images stored at device In-Reply-To: <3627758f-e94e-d481-3803-217d9dba8d02@ekkes-corner.org> References: <3627758f-e94e-d481-3803-217d9dba8d02@ekkes-corner.org> Message-ID: > On 26 Oct 2017, at 15:12, ekke wrote: > > Jeffrey, > > thx > > at the moment it's ok for me to use > QStandardPaths::standardLocations(QStandardPaths::PicturesLocation).last() > > Using Objective-C++ Photos framework would give some more comfort, > but wouldn't help to access these Photos from QML >From QML, the QtQuick.Dialogs FileDialog has special support for getting a native photo picker: http://doc.qt.io/qt-5/qml-qtquick-dialogs-filedialog.html#folder-prop > it seems that there's no way to construct an URL in QML to access files from assets-library > so probably the best way is to write an ImageProvider to access these Images from QML After you choose the photo, you will get a URL which works AFAIK. The code is in qtbase/src/plugins/platforms/ios/optional/nsphotolibrarysupport/qiosfileengineassetslibrary.mm (called from qiosfiledialog.mm) > Am 26.10.17 um 14:52 schrieb Jeffrey Brendecke: >> >>> On 26. Oct 2017, at 13:10, interest-request at qt-project.org wrote: >>> >>> ... >> >> Hello Ekke, >> >> It looks like the Asset Library Framework has been deprecated as of iOS 9: >> >> https://developer.apple.com/documentation/photos/phasset?language=objc >> >> The new way to access the assets is through the Photos framework. The above link contains links to the relevant classes. The Photos framework is feature rich and allows you to access images separate from their adjustment data or with the adjustments applied. If you think Qt is using the deprecated API, and needs to be updated, you can write up a bug about it. From ekke at ekkes-corner.org Thu Oct 26 17:02:56 2017 From: ekke at ekkes-corner.org (ekke) Date: Thu, 26 Oct 2017 17:02:56 +0200 Subject: [Interest] Qt iOS - HowTo get access to Images stored at device In-Reply-To: References: <3627758f-e94e-d481-3803-217d9dba8d02@ekkes-corner.org> Message-ID: <4c79738f-5483-3c31-8f5b-9caa573d1632@ekkes-corner.org> Am 26.10.17 um 16:11 schrieb Shawn Rutledge: >> On 26 Oct 2017, at 15:12, ekke wrote: >> >> Jeffrey, >> >> thx >> >> at the moment it's ok for me to use >> QStandardPaths::standardLocations(QStandardPaths::PicturesLocation).last() >> >> Using Objective-C++ Photos framework would give some more comfort, >> but wouldn't help to access these Photos from QML > >From QML, the QtQuick.Dialogs FileDialog has special support for getting a native photo picker: > > http://doc.qt.io/qt-5/qml-qtquick-dialogs-filedialog.html#folder-prop if I understood it right, to use FileDialog I must add QT +=widgets also https://doc.qt.io/qt-5/qml-qt-labs-platform-filedialog.html needs widgets and QApplication instead of QGuiApplication . want to avoid this because my mobile apps are using QtQuickControls2 only >> it seems that there's no way to construct an URL in QML to access files from assets-library >> so probably the best way is to write an ImageProvider to access these Images from QML > After you choose the photo, you will get a URL which works AFAIK. in forum I read that this URL works from C++ but not from QML > > The code is in qtbase/src/plugins/platforms/ios/optional/nsphotolibrarysupport/qiosfileengineassetslibrary.mm (called from qiosfiledialog.mm) > thx - will take a look at this later -------------- next part -------------- An HTML attachment was scrubbed... URL: From nunosantos at imaginando.pt Thu Oct 26 19:16:20 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Thu, 26 Oct 2017 18:16:20 +0100 Subject: [Interest] Windows Touch offset when window is reparented and created with flag Qt::FramelessWindowHint Message-ID: Hi, I’m being faced with a problem that I think it might be a bug in Qt. But before assuming anything I would like to know if someone has already been faced with this before. My application is a plugin for a software host. The host provides a pointer to a native window. In order to make the app run inside that window I do the following: - create a QWindow - set QWindow flags to Qt:Tool | Qt::FramelessWindowHint - I set the window parent to be the native pointer received from the host The problem is that the touch has an offset. When I touch, the app window receives the touch a little bit above and to the right. This problem doesn’t happen on the standalone version of my application when the window frame is shown. Mouse events are precise on all cases. Then I have tried not to set the FramelessWindowHint and if I move the window to fit inside the native window, the problem is not that serious but still happens so my guess is that the window frame is not being taken into account when translating the touch input. I’m still using Qt 5.8.1 as I really on a static build of Qt for my app. I wonder if this is a known issue and if it has already been reported before and consequently fixed on newer versions of Qt. Thanks! Best regards, Nuno -------------- next part -------------- An HTML attachment was scrubbed... URL: From jhihn at gmx.com Thu Oct 26 22:11:25 2017 From: jhihn at gmx.com (Jason H) Date: Thu, 26 Oct 2017 22:11:25 +0200 Subject: [Interest] QMap crash when using QtConcurrent::blockingMapped() Message-ID: This is the first time I'm trying to use QMap with QtConcurrent, and blockingMapped(). It sometimes works, sometimes doesn't. I've created a minimal test case that seems to crash in the same way. It seems to crash in varying places. namely: qmap.h: template inline bool qMapLessThanKey(const Key &key1, const Key &key2) { return key1 < key2; } But in my software it seems to come from line 42: QList hp = haystack_points[haystack_item]; I've already haystack_points to a 1001 item map, I think something else has deleted it? Maybe my use of a class with mapped() is wrong? Any help is appreciated. -------------- next part -------------- A non-text attachment was scrubbed... Name: main.cpp Type: application/octet-stream Size: 2896 bytes Desc: not available URL: From kshegunov at gmail.com Thu Oct 26 22:58:46 2017 From: kshegunov at gmail.com (Konstantin Shegunov) Date: Thu, 26 Oct 2017 23:58:46 +0300 Subject: [Interest] QMap crash when using QtConcurrent::blockingMapped() In-Reply-To: References: Message-ID: On Thu, Oct 26, 2017 at 11:11 PM, Jason H wrote: > > It sometimes works, sometimes doesn't. Smells like a race. > But in my software it seems to come from line 42: > QList hp = haystack_points[haystack_item]; > This may be a write operation, beware of operator [] with maps, notice at the ends of the docs: "If the map contains no item with key key, the function inserts a default-constructed value into the map with key key, and returns a reference to it." My advice is to declare your members in `PointsCompare` as const and take it from there. The compiler will complain, but changing the access (e.g. using `at()` instead of `[]`) to your members should fix it. Maybe my use of a class with mapped() is wrong? > Not that I could see. -------------- next part -------------- An HTML attachment was scrubbed... URL: From kshegunov at gmail.com Thu Oct 26 23:03:00 2017 From: kshegunov at gmail.com (Konstantin Shegunov) Date: Fri, 27 Oct 2017 00:03:00 +0300 Subject: [Interest] QMap crash when using QtConcurrent::blockingMapped() In-Reply-To: References: Message-ID: On Thu, Oct 26, 2017 at 11:58 PM, Konstantin Shegunov wrote: > e.g. using `at()` instead of `[]` > Read as `value()` instead of `[]` -------------- next part -------------- An HTML attachment was scrubbed... URL: From jhihn at gmx.com Fri Oct 27 03:37:00 2017 From: jhihn at gmx.com (Jason H) Date: Fri, 27 Oct 2017 03:37:00 +0200 Subject: [Interest] QMap crash when using QtConcurrent::blockingMapped() In-Reply-To: References: Message-ID:     Sent: Thursday, October 26, 2017 at 4:58 PM From: "Konstantin Shegunov" To: "Jason H" Cc: "interestqt-project.org" Subject: Re: [Interest] QMap crash when using QtConcurrent::blockingMapped() On Thu, Oct 26, 2017 at 11:11 PM, Jason H wrote:It sometimes works, sometimes doesn't.   Smells like a race.  But in my software it seems to come from line 42: QList hp = haystack_points[haystack_item];   This may be a write operation, beware of operator [] with maps, notice at the ends of the docs: "If the map contains no item with key key, the function inserts a default-constructed value into the map with key key, and returns a reference to it." My advice is to declare your members in `PointsCompare` as const and take it from there. The compiler will complain, but changing the access (e.g. using `at()` instead of `[]`) to your members should fix it.  Maybe my use of a class with mapped() is wrong? Not that I could see.   Well, remember that haystack_item is coming from search_keys which is the keys of the kaystack, so it *should* not be doing any writes. Still I will give it a go. The errors I got were about double-free or a heap integrity checksum not matching. I'm wondering if there isn't a reentrancy issue in QMap. From elvstone at gmail.com Fri Oct 27 08:45:15 2017 From: elvstone at gmail.com (Elvis Stansvik) Date: Fri, 27 Oct 2017 08:45:15 +0200 Subject: [Interest] QMap crash when using QtConcurrent::blockingMapped() In-Reply-To: References: Message-ID: Den 26 okt. 2017 10:11 em skrev "Jason H" : This is the first time I'm trying to use QMap with QtConcurrent, and blockingMapped(). It sometimes works, sometimes doesn't. I've created a minimal test case that seems to crash in the same way. It seems to crash in varying places. namely: qmap.h: template inline bool qMapLessThanKey(const Key &key1, const Key &key2) { return key1 < key2; } But in my software it seems to come from line 42: QList hp = haystack_points[haystack_item]; I've already haystack_points to a 1001 item map, I think something else has deleted it? Maybe my use of a class with mapped() is wrong? Not sure if this is your problem here, but it looks like you're using the same QMap from multiple threads (the one stored in your function). QMap isn't thread safe, so I don't think your use is guaranteed to be safe, even if you're only reading. Could be wrong of course and on my phone atm so awkward to check. Elvis Any help is appreciated. _______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From elvstone at gmail.com Fri Oct 27 08:46:26 2017 From: elvstone at gmail.com (Elvis Stansvik) Date: Fri, 27 Oct 2017 08:46:26 +0200 Subject: [Interest] QMap crash when using QtConcurrent::blockingMapped() In-Reply-To: References: Message-ID: Den 27 okt. 2017 8:45 fm skrev "Elvis Stansvik" : Den 26 okt. 2017 10:11 em skrev "Jason H" : This is the first time I'm trying to use QMap with QtConcurrent, and blockingMapped(). It sometimes works, sometimes doesn't. I've created a minimal test case that seems to crash in the same way. It seems to crash in varying places. namely: qmap.h: template inline bool qMapLessThanKey(const Key &key1, const Key &key2) { return key1 < key2; } But in my software it seems to come from line 42: QList hp = haystack_points[haystack_item]; I've already haystack_points to a 1001 item map, I think something else has deleted it? Maybe my use of a class with mapped() is wrong? Not sure if this is your problem here, but it looks like you're using the same QMap from multiple threads (the one stored in your function). s/function/functor/ Elvis QMap isn't thread safe, so I don't think your use is guaranteed to be safe, even if you're only reading. Could be wrong of course and on my phone atm so awkward to check. Elvis Any help is appreciated. _______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeffrey.brendecke at gmail.com Fri Oct 27 09:49:54 2017 From: jeffrey.brendecke at gmail.com (Jeffrey Brendecke) Date: Fri, 27 Oct 2017 09:49:54 +0200 Subject: [Interest] Qt iOS - HowTo get access to Images stored at device In-Reply-To: References: <3627758f-e94e-d481-3803-217d9dba8d02@ekkes-corner.org> Message-ID: > On 26. Oct 2017, at 16:11, Shawn Rutledge wrote: > > >> On 26 Oct 2017, at 15:12, ekke wrote: >> >> Jeffrey, >> >> thx >> >> at the moment it's ok for me to use >> QStandardPaths::standardLocations(QStandardPaths::PicturesLocation).last() >> >> Using Objective-C++ Photos framework would give some more comfort, >> but wouldn't help to access these Photos from QML > > From QML, the QtQuick.Dialogs FileDialog has special support for getting a native photo picker: > > http://doc.qt.io/qt-5/qml-qtquick-dialogs-filedialog.html#folder-prop > >> it seems that there's no way to construct an URL in QML to access files from assets-library >> so probably the best way is to write an ImageProvider to access these Images from QML > > After you choose the photo, you will get a URL which works AFAIK. > > The code is in qtbase/src/plugins/platforms/ios/optional/nsphotolibrarysupport/qiosfileengineassetslibrary.mm (called from qiosfiledialog.mm) > >> Am 26.10.17 um 14:52 schrieb Jeffrey Brendecke: >>> >>>> On 26. Oct 2017, at 13:10, interest-request at qt-project.org wrote: >>>> >>>> ... >>> >>> Hello Ekke, >>> >>> It looks like the Asset Library Framework has been deprecated as of iOS 9: >>> >>> https://developer.apple.com/documentation/photos/phasset?language=objc >>> >>> The new way to access the assets is through the Photos framework. The above link contains links to the relevant classes. The Photos framework is feature rich and allows you to access images separate from their adjustment data or with the adjustments applied. > > If you think Qt is using the deprecated API, and needs to be updated, you can write up a bug about it. > I just logged the following bug after having searched to see if this had been reported before: https://bugreports.qt.io/issues/?filter=-5&jql=resolution%20%3D%20Unresolved%20AND%20text%20~%20%22assets%22%20order%20by%20priority%20DESC%2Cupdated%20DESC From nunosantos at imaginando.pt Fri Oct 27 10:55:07 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Fri, 27 Oct 2017 09:55:07 +0100 Subject: [Interest] Excluding Qt Modules Message-ID: <55DED672-59D2-4546-9B69-F6D3ADE62488@imaginando.pt> Hi, This documentation page explains how to exclude a module from the build. http://doc.qt.io/qt-5/configure-options.html#excluding-qt-modules However, it doesn’t show the modules that can be included or excluded. How can I get the list? Is there any command on the configure to make that? I can’t find it. Does Qt Configuration Tool works for Qt builds other than Qt for Device Creation builds? Regards, Nuno -------------- next part -------------- An HTML attachment was scrubbed... URL: From Shawn.Rutledge at qt.io Fri Oct 27 11:01:45 2017 From: Shawn.Rutledge at qt.io (Shawn Rutledge) Date: Fri, 27 Oct 2017 09:01:45 +0000 Subject: [Interest] Qt iOS - HowTo get access to Images stored at device In-Reply-To: <4c79738f-5483-3c31-8f5b-9caa573d1632@ekkes-corner.org> References: <3627758f-e94e-d481-3803-217d9dba8d02@ekkes-corner.org> <4c79738f-5483-3c31-8f5b-9caa573d1632@ekkes-corner.org> Message-ID: > On 26 Oct 2017, at 17:02, ekke wrote: > > Am 26.10.17 um 16:11 schrieb Shawn Rutledge: >>> On 26 Oct 2017, at 15:12, ekke >>> wrote: >>> >>> Jeffrey, >>> >>> thx >>> >>> at the moment it's ok for me to use >>> QStandardPaths::standardLocations(QStandardPaths::PicturesLocation).last() >>> >>> Using Objective-C++ Photos framework would give some more comfort, >>> but wouldn't help to access these Photos from QML >>> >> >From QML, the QtQuick.Dialogs FileDialog has special support for getting a native photo picker: >> >> >> http://doc.qt.io/qt-5/qml-qtquick-dialogs-filedialog.html#folder-prop > if I understood it right, to use FileDialog I must add > QT += widgets > also https://doc.qt.io/qt-5/qml-qt-labs-platform-filedialog.html needs widgets and QApplication instead of QGuiApplication. That’s not necessary on iOS AFAIK. Widget-based dialogs are an option on desktop systems. The priority is: native dialog if possible (and on iOS, if you are choosing a picture, we treat the photo picker as a native dialog); if not, then use a widget dialog if possible (and if it’s not a QApplication, it’s not possible); if not, then fall back to a plain QML implementation (DefaultFileDialog.qml). (Disclaimer: I haven’t tested that on iOS for quite some time. I hope it still works. ;-) > want to avoid this because my mobile apps are using QtQuickControls2 only The work of porting over to Controls 2 dialogs is not done yet. >>> it seems that there's no way to construct an URL in QML to access files from assets-library >>> so probably the best way is to write an ImageProvider to access these Images from QML >>> >> After you choose the photo, you will get a URL which works AFAIK. > in forum I read that this URL works from C++ but not from QML Not sure about that… I guess I need to test it again. I thought it was possible to set an Image.source property to that URL, for example, but we don’t have much file-reading support in QML otherwise. From jeanmichael.celerier at gmail.com Fri Oct 27 11:12:51 2017 From: jeanmichael.celerier at gmail.com (=?UTF-8?Q?Jean=2DMicha=C3=ABl_Celerier?=) Date: Fri, 27 Oct 2017 11:12:51 +0200 Subject: [Interest] Excluding Qt Modules In-Reply-To: <55DED672-59D2-4546-9B69-F6D3ADE62488@imaginando.pt> References: <55DED672-59D2-4546-9B69-F6D3ADE62488@imaginando.pt> Message-ID: > However, it doesn’t show the modules that can be included or excluded. well, every submodule in a git clone of qt5 can be excluded: https://github.com/qt/qt5. At the very least you'd want qtbase, and qtdeclarative if you're using QML. A simpler way is to only initialize the submodules you want. Best, ------- Jean-Michaël Celerier http://www.jcelerier.name On Fri, Oct 27, 2017 at 10:55 AM, Nuno Santos wrote: > Hi, > > This documentation page explains how to exclude a module from the build. > > http://doc.qt.io/qt-5/configure-options.html#excluding-qt-modules > > However, it doesn’t show the modules that can be included or excluded. > > How can I get the list? Is there any command on the configure to make > that? I can’t find it. > > Does Qt Configuration Tool works for Qt builds other than Qt for Device > Creation builds? > > Regards, > > Nuno > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bjornpiltz at gmail.com Fri Oct 27 11:15:56 2017 From: bjornpiltz at gmail.com (=?UTF-8?B?QmrDtnJuIFBpbHR6?=) Date: Fri, 27 Oct 2017 11:15:56 +0200 Subject: [Interest] QMap crash when using QtConcurrent::blockingMapped() In-Reply-To: References: Message-ID: > > I'm wondering if there isn't a reentrancy issue in QMap. > Almost. QMap works as it should if you only call const members, but as Konstantin said operator[] on a non-const instance is a mutating function. I am pretty sure your problems will go away if you declare operator() as const. Then, the const version of operator[] will be called. This is an unfortunate side effect of Qt's implicit sharing of container classes. There is a tiny note here about a similar problem: http://doc.qt.io/qt-5/containers.html#implicit-sharing-iterator-problem -------------- next part -------------- An HTML attachment was scrubbed... URL: From ekke at ekkes-corner.org Fri Oct 27 11:32:14 2017 From: ekke at ekkes-corner.org (ekke) Date: Fri, 27 Oct 2017 11:32:14 +0200 Subject: [Interest] Qt iOS - HowTo get access to Images stored at device In-Reply-To: References: <3627758f-e94e-d481-3803-217d9dba8d02@ekkes-corner.org> <4c79738f-5483-3c31-8f5b-9caa573d1632@ekkes-corner.org> Message-ID: <75b015a9-a407-3e38-2aa1-b74c10a04ffa@ekkes-corner.org> Am 27.10.17 um 11:01 schrieb Shawn Rutledge: >> On 26 Oct 2017, at 17:02, ekke wrote: >> >> Am 26.10.17 um 16:11 schrieb Shawn Rutledge: >>>> On 26 Oct 2017, at 15:12, ekke >>>> wrote: >>>> >>>> Jeffrey, >>>> >>>> thx >>>> >>>> at the moment it's ok for me to use >>>> QStandardPaths::standardLocations(QStandardPaths::PicturesLocation).last() >>>> >>>> Using Objective-C++ Photos framework would give some more comfort, >>>> but wouldn't help to access these Photos from QML >>>> >>> >From QML, the QtQuick.Dialogs FileDialog has special support for getting a native photo picker: >>> >>> >>> http://doc.qt.io/qt-5/qml-qtquick-dialogs-filedialog.html#folder-prop >> if I understood it right, to use FileDialog I must add >> QT += widgets >> also https://doc.qt.io/qt-5/qml-qt-labs-platform-filedialog.html needs widgets and QApplication instead of QGuiApplication. > That’s not necessary on iOS AFAIK. good to know - will try it out > Widget-based dialogs are an option on desktop systems. The priority is: native dialog if possible (and on iOS, if you are choosing a picture, we treat the photo picker as a native dialog); if not, then use a widget dialog if possible (and if it’s not a QApplication, it’s not possible); if not, then fall back to a plain QML implementation (DefaultFileDialog.qml). > > (Disclaimer: I haven’t tested that on iOS for quite some time. I hope it still works. ;-) will test this and create example app providing different ways to pick Images on iOS: native and custom QtQuickControls2 Dialog > >> want to avoid this because my mobile apps are using QtQuickControls2 only > The work of porting over to Controls 2 dialogs is not done yet. that's why I'm developing a custom QtQuickControls2 FileBrowser ;-) (will be available at Github hopefully next week) > >>>> it seems that there's no way to construct an URL in QML to access files from assets-library >>>> so probably the best way is to write an ImageProvider to access these Images from QML >>>> >>> After you choose the photo, you will get a URL which works AFAIK. >> in forum I read that this URL works from C++ but not from QML > Not sure about that… I guess I need to test it again. I thought it was possible to set an Image.source property to that URL, for example, but we don’t have much file-reading support in QML otherwise. > From nunosantos at imaginando.pt Fri Oct 27 11:56:54 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Fri, 27 Oct 2017 10:56:54 +0100 Subject: [Interest] Whats the new openssl lib version to link Qt 5.10 against? Message-ID: Hi, I was building Qt 5.8 from the source linking with openssl 1.0.2j Yesterday I started building Qt 5.10 but it is not linking against 1.0.2j I’m not sure if this is if this is due to a new required openssl version or because of some building problems. Does the required openssl version changed for Qt 5.10? Thx! Regards, Nuno From nunosantos at imaginando.pt Fri Oct 27 11:59:06 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Fri, 27 Oct 2017 10:59:06 +0100 Subject: [Interest] Excluding Qt Modules In-Reply-To: References: <55DED672-59D2-4546-9B69-F6D3ADE62488@imaginando.pt> Message-ID: Jean, Thanks for your reply. By default all the modules are selected unless you specify which ones it should skip. How can I do the opposite? Initialising only the modules I want? I’m starting with the source downloaded by Qt installer. I suppose that that tactic needs that I start with the Qt source from git. Regards, Nuno > On 27 Oct 2017, at 10:12, Jean-Michaël Celerier wrote: > > > However, it doesn’t show the modules that can be included or excluded. > > well, every submodule in a git clone of qt5 can be excluded: https://github.com/qt/qt5 . > At the very least you'd want qtbase, and qtdeclarative if you're using QML. > > A simpler way is to only initialize the submodules you want. > > Best, > > > > > ------- > Jean-Michaël Celerier > http://www.jcelerier.name > On Fri, Oct 27, 2017 at 10:55 AM, Nuno Santos > wrote: > Hi, > > This documentation page explains how to exclude a module from the build. > > http://doc.qt.io/qt-5/configure-options.html#excluding-qt-modules > > However, it doesn’t show the modules that can be included or excluded. > > How can I get the list? Is there any command on the configure to make that? I can’t find it. > > Does Qt Configuration Tool works for Qt builds other than Qt for Device Creation builds? > > Regards, > > Nuno > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeanmichael.celerier at gmail.com Fri Oct 27 12:13:10 2017 From: jeanmichael.celerier at gmail.com (=?UTF-8?Q?Jean=2DMicha=C3=ABl_Celerier?=) Date: Fri, 27 Oct 2017 12:13:10 +0200 Subject: [Interest] Excluding Qt Modules In-Reply-To: References: <55DED672-59D2-4546-9B69-F6D3ADE62488@imaginando.pt> Message-ID: > How can I do the opposite? Initialising only the modules I want? don't think it's possible :( ------- Jean-Michaël Celerier http://www.jcelerier.name On Fri, Oct 27, 2017 at 11:59 AM, Nuno Santos wrote: > Jean, > > Thanks for your reply. > > By default all the modules are selected unless you specify which ones it > should skip. > > How can I do the opposite? Initialising only the modules I want? > > I’m starting with the source downloaded by Qt installer. I suppose that > that tactic needs that I start with the Qt source from git. > > Regards, > > Nuno > > On 27 Oct 2017, at 10:12, Jean-Michaël Celerier < > jeanmichael.celerier at gmail.com> wrote: > > > However, it doesn’t show the modules that can be included or excluded. > > well, every submodule in a git clone of qt5 can be excluded: > https://github.com/qt/qt5. > At the very least you'd want qtbase, and qtdeclarative if you're using QML. > > A simpler way is to only initialize the submodules you want. > > Best, > > > > > ------- > Jean-Michaël Celerier > http://www.jcelerier.name > > On Fri, Oct 27, 2017 at 10:55 AM, Nuno Santos > wrote: > >> Hi, >> >> This documentation page explains how to exclude a module from the build. >> >> http://doc.qt.io/qt-5/configure-options.html#excluding-qt-modules >> >> However, it doesn’t show the modules that can be included or excluded. >> >> How can I get the list? Is there any command on the configure to make >> that? I can’t find it. >> >> Does Qt Configuration Tool works for Qt builds other than Qt for Device >> Creation builds? >> >> Regards, >> >> Nuno >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest >> >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From annulen at yandex.ru Fri Oct 27 12:15:59 2017 From: annulen at yandex.ru (Konstantin Tokarev) Date: Fri, 27 Oct 2017 13:15:59 +0300 Subject: [Interest] Excluding Qt Modules In-Reply-To: References: <55DED672-59D2-4546-9B69-F6D3ADE62488@imaginando.pt> Message-ID: <150551509099359@web11g.yandex.ru> 27.10.2017, 12:59, "Nuno Santos" : > Jean, > > Thanks for your reply. > > By default all the modules are selected unless you specify which ones it should skip. > > How can I do the opposite? Initialising only the modules I want? > > I’m starting with the source downloaded by Qt installer. I suppose that that tactic needs that I start with the Qt source from git. You can also download source tarballs for individual modules from downloads.qt.io > > Regards, > > Nuno > >> On 27 Oct 2017, at 10:12, Jean-Michaël Celerier wrote: >> >>> However, it doesn’t show the modules that can be included or excluded. >> >> well, every submodule in a git clone of qt5 can be excluded: https://github.com/qt/qt5. >> At the very least you'd want qtbase, and qtdeclarative if you're using QML. >> >> A simpler way is to only initialize the submodules you want. >> >> Best, >> >> ------- >> Jean-Michaël Celerier >> http://www.jcelerier.name >> >> On Fri, Oct 27, 2017 at 10:55 AM, Nuno Santos wrote: >>> Hi, >>> >>> This documentation page explains how to exclude a module from the build. >>> >>> http://doc.qt.io/qt-5/configure-options.html#excluding-qt-modules >>> >>> However, it doesn’t show the modules that can be included or excluded. >>> >>> How can I get the list? Is there any command on the configure to make that? I can’t find it. >>> >>> Does Qt Configuration Tool works for Qt builds other than Qt for Device Creation builds? >>> >>> Regards, >>> >>> Nuno >>> >>> _______________________________________________ >>> Interest mailing list >>> Interest at qt-project.org >>> http://lists.qt-project.org/mailman/listinfo/interest > , > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest --  Regards, Konstantin From nunosantos at imaginando.pt Fri Oct 27 12:16:58 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Fri, 27 Oct 2017 11:16:58 +0100 Subject: [Interest] Excluding Qt Modules In-Reply-To: References: <55DED672-59D2-4546-9B69-F6D3ADE62488@imaginando.pt> Message-ID: <699E1BCF-1FDA-48CB-9DF7-B1AEE0188D9E@imaginando.pt> But you were suggesting that… how do you do it? I have just checked out Qt source from git and was playing with the init-repository script. I was trying to make something like: > perl init-repository —module-subset=qtbase,qtdeclarative,etc Is this what you meant? Regards, Nuno > On 27 Oct 2017, at 11:13, Jean-Michaël Celerier wrote: > > > How can I do the opposite? Initialising only the modules I want? > > don't think it's possible :( > > > > ------- > Jean-Michaël Celerier > http://www.jcelerier.name > On Fri, Oct 27, 2017 at 11:59 AM, Nuno Santos > wrote: > Jean, > > Thanks for your reply. > > By default all the modules are selected unless you specify which ones it should skip. > > How can I do the opposite? Initialising only the modules I want? > > I’m starting with the source downloaded by Qt installer. I suppose that that tactic needs that I start with the Qt source from git. > > Regards, > > Nuno > >> On 27 Oct 2017, at 10:12, Jean-Michaël Celerier > wrote: >> >> > However, it doesn’t show the modules that can be included or excluded. >> >> well, every submodule in a git clone of qt5 can be excluded: https://github.com/qt/qt5 . >> At the very least you'd want qtbase, and qtdeclarative if you're using QML. >> >> A simpler way is to only initialize the submodules you want. >> >> Best, >> >> >> >> >> ------- >> Jean-Michaël Celerier >> http://www.jcelerier.name >> On Fri, Oct 27, 2017 at 10:55 AM, Nuno Santos > wrote: >> Hi, >> >> This documentation page explains how to exclude a module from the build. >> >> http://doc.qt.io/qt-5/configure-options.html#excluding-qt-modules >> >> However, it doesn’t show the modules that can be included or excluded. >> >> How can I get the list? Is there any command on the configure to make that? I can’t find it. >> >> Does Qt Configuration Tool works for Qt builds other than Qt for Device Creation builds? >> >> Regards, >> >> Nuno >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest >> >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From kshegunov at gmail.com Fri Oct 27 12:39:05 2017 From: kshegunov at gmail.com (Konstantin Shegunov) Date: Fri, 27 Oct 2017 13:39:05 +0300 Subject: [Interest] Excluding Qt Modules In-Reply-To: <699E1BCF-1FDA-48CB-9DF7-B1AEE0188D9E@imaginando.pt> References: <55DED672-59D2-4546-9B69-F6D3ADE62488@imaginando.pt> <699E1BCF-1FDA-48CB-9DF7-B1AEE0188D9E@imaginando.pt> Message-ID: On Fri, Oct 27, 2017 at 1:16 PM, Nuno Santos wrote: > > I have just checked out Qt source from git and was playing with the > init-repository script. I was trying to make something like: > > > perl init-repository —module-subset=qtbase,qtdeclarative,etc > This is from init-repository: Only initialize the specified subset of modules given as the argument. Specified modules must already exist in .gitmodules. The string "all" results in cloning all known modules. The strings "essential", "addon", "preview", "deprecated", "obsolete", and "ignore" refer to classes of modules; "default" maps to "essential,addon,preview,deprecated", which corresponds with the set of maintained modules and is also the default set. Module names may be prefixed with a dash to exclude them from a bigger set, e.g. "all,-ignore". Personally I use `essential`, so I get the minimum set of modules (as I'm working on desktop and I don't need the addon/preview/deprecated/obsolete). -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeanmichael.celerier at gmail.com Fri Oct 27 12:43:11 2017 From: jeanmichael.celerier at gmail.com (=?UTF-8?Q?Jean=2DMicha=C3=ABl_Celerier?=) Date: Fri, 27 Oct 2017 12:43:11 +0200 Subject: [Interest] Excluding Qt Modules In-Reply-To: <699E1BCF-1FDA-48CB-9DF7-B1AEE0188D9E@imaginando.pt> References: <55DED672-59D2-4546-9B69-F6D3ADE62488@imaginando.pt> <699E1BCF-1FDA-48CB-9DF7-B1AEE0188D9E@imaginando.pt> Message-ID: > perl init-repository —module-subset=qtbase,qtdeclarative,etc oh, TIL! I always used to do it manually with "git submodule update --init qtbase qtdeclarative" ------- Jean-Michaël Celerier http://www.jcelerier.name On Fri, Oct 27, 2017 at 12:16 PM, Nuno Santos wrote: > But you were suggesting that… how do you do it? > > I have just checked out Qt source from git and was playing with the > init-repository script. I was trying to make something like: > > > perl init-repository —module-subset=qtbase,qtdeclarative,etc > > Is this what you meant? > > Regards, > > Nuno > > On 27 Oct 2017, at 11:13, Jean-Michaël Celerier < > jeanmichael.celerier at gmail.com> wrote: > > > How can I do the opposite? Initialising only the modules I want? > > don't think it's possible :( > > > > ------- > Jean-Michaël Celerier > http://www.jcelerier.name > > On Fri, Oct 27, 2017 at 11:59 AM, Nuno Santos > wrote: > >> Jean, >> >> Thanks for your reply. >> >> By default all the modules are selected unless you specify which ones it >> should skip. >> >> How can I do the opposite? Initialising only the modules I want? >> >> I’m starting with the source downloaded by Qt installer. I suppose that >> that tactic needs that I start with the Qt source from git. >> >> Regards, >> >> Nuno >> >> On 27 Oct 2017, at 10:12, Jean-Michaël Celerier < >> jeanmichael.celerier at gmail.com> wrote: >> >> > However, it doesn’t show the modules that can be included or excluded. >> >> well, every submodule in a git clone of qt5 can be excluded: >> https://github.com/qt/qt5. >> At the very least you'd want qtbase, and qtdeclarative if you're using >> QML. >> >> A simpler way is to only initialize the submodules you want. >> >> Best, >> >> >> >> >> ------- >> Jean-Michaël Celerier >> http://www.jcelerier.name >> >> On Fri, Oct 27, 2017 at 10:55 AM, Nuno Santos >> wrote: >> >>> Hi, >>> >>> This documentation page explains how to exclude a module from the build. >>> >>> http://doc.qt.io/qt-5/configure-options.html#excluding-qt-modules >>> >>> However, it doesn’t show the modules that can be included or excluded. >>> >>> How can I get the list? Is there any command on the configure to make >>> that? I can’t find it. >>> >>> Does Qt Configuration Tool works for Qt builds other than Qt for Device >>> Creation builds? >>> >>> Regards, >>> >>> Nuno >>> >>> _______________________________________________ >>> Interest mailing list >>> Interest at qt-project.org >>> http://lists.qt-project.org/mailman/listinfo/interest >>> >>> >> >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From kshegunov at gmail.com Fri Oct 27 12:44:32 2017 From: kshegunov at gmail.com (Konstantin Shegunov) Date: Fri, 27 Oct 2017 13:44:32 +0300 Subject: [Interest] QMap crash when using QtConcurrent::blockingMapped() In-Reply-To: References: Message-ID: On Fri, Oct 27, 2017 at 9:45 AM, Elvis Stansvik wrote: > > QMap isn't thread safe, so I don't think your use is guaranteed to be > safe, even if you're only reading. > You're right, in the formal sense of the word, but if there are no `mutable` members or `const_cast` usage a reentrant class can be used from different threads IF the calls are read-only. I sometimes use `QHash` like this where I need to read from a pre-populated hash from different threads, with the understanding there's no need to lock something if the memory is never changed. -------------- next part -------------- An HTML attachment was scrubbed... URL: From nunosantos at imaginando.pt Fri Oct 27 12:46:46 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Fri, 27 Oct 2017 11:46:46 +0100 Subject: [Interest] Excluding Qt Modules In-Reply-To: References: <55DED672-59D2-4546-9B69-F6D3ADE62488@imaginando.pt> <699E1BCF-1FDA-48CB-9DF7-B1AEE0188D9E@imaginando.pt> Message-ID: <8FD12283-296A-4AAC-BCA0-693277DA6C17@imaginando.pt> Konstantin, Cool! Today was actually the first time I looked to init-repository help! :) What’s the quickest way of clearing a Qt checked source for a new build? make clean is very slow. What’s your approach in this case? Thx! Nuno > On 27 Oct 2017, at 11:39, Konstantin Shegunov wrote: > > On Fri, Oct 27, 2017 at 1:16 PM, Nuno Santos > wrote: > I have just checked out Qt source from git and was playing with the init-repository script. I was trying to make something like: > > > perl init-repository —module-subset=qtbase,qtdeclarative,etc > > This is from init-repository: > > Only initialize the specified subset of modules given as the > argument. Specified modules must already exist in .gitmodules. The > string "all" results in cloning all known modules. The strings > "essential", "addon", "preview", "deprecated", "obsolete", and > "ignore" refer to classes of modules; "default" maps to > "essential,addon,preview,deprecated", which corresponds with the > set of maintained modules and is also the default set. Module > names may be prefixed with a dash to exclude them from a bigger > set, e.g. "all,-ignore". > > Personally I use `essential`, so I get the minimum set of modules (as I'm working on desktop and I don't need the addon/preview/deprecated/obsolete). -------------- next part -------------- An HTML attachment was scrubbed... URL: From kshegunov at gmail.com Fri Oct 27 12:49:25 2017 From: kshegunov at gmail.com (Konstantin Shegunov) Date: Fri, 27 Oct 2017 13:49:25 +0300 Subject: [Interest] Excluding Qt Modules In-Reply-To: <8FD12283-296A-4AAC-BCA0-693277DA6C17@imaginando.pt> References: <55DED672-59D2-4546-9B69-F6D3ADE62488@imaginando.pt> <699E1BCF-1FDA-48CB-9DF7-B1AEE0188D9E@imaginando.pt> <8FD12283-296A-4AAC-BCA0-693277DA6C17@imaginando.pt> Message-ID: On Fri, Oct 27, 2017 at 1:46 PM, Nuno Santos wrote: > > What’s the quickest way of clearing a Qt checked source for a new build? > make clean is very slow. > > What’s your approach in this case? > I usually do: $> git submodule foreach --recursive "git clean -dfx" && git clean -dfx As mentioned here: https://wiki.qt.io/Building_Qt_5_from_Git#Cleaning -------------- next part -------------- An HTML attachment was scrubbed... URL: From nunosantos at imaginando.pt Fri Oct 27 13:48:15 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Fri, 27 Oct 2017 12:48:15 +0100 Subject: [Interest] Can't build Qt 5.10 statically from source on Windows - fails to link with OpenSSL Message-ID: <8353BA2F-7520-4972-96AB-03E727096D4A@imaginando.pt> Hi, Sorry to keep asking this but I can’t find the cause of this problem. I’m trying to build Qt 5.10 from git source. I’m using the following configure line: configure -confirm-license -recheck -prefix c:\qt\5.10.0\msvc2015_5_10_0_static_32 -commercial -debug-and-release -static -static-runtime -opengl dynamic -openssl-linked -I c:\openssl-lib-1.0.2\include -L c:\openssl-lib-1.0.2\lib OPENSSL_LIBS_DEBUG="libeay32MTd.lib ssleay32MTd.lib" OPENSSL_LIBS_RELEASE="libeay32MT.lib ssleay32MT.lib" -qtnamespace com_imaginando_qt_5_10_32 I have tried with openssl 1.0.1, 1.0.2 and 1.1.0 but they are all generating the same errors... cd qmltestrunner\ && ( if not exist Makefile C:\Qt\5.10.0\src\qtbase\bin\qmake.exe -o Makefile C:\Qt\5.10.0\src\qtdeclarative\tools\qmltestrunner\qmltestrunner.pro ) && C:\Qt\5.10.0\jom.exe -f Makefile C:\Qt\5.10.0\jom.exe -f Makefile.Release link /NOLOGO /DYNAMICBASE /NXCOMPAT /INCREMENTAL:NO /SUBSYSTEM:CONSOLE "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /VERSION:5.10 /MANIFEST:embed /OUT:..\..\bin\qmltestrunner.exe @C:\Users\nsantos\AppData\Local\Temp\qmltestrunner.exe.3884.16.jom Creating library ..\..\bin\qmltestrunner.lib and object ..\..\bin\qmltestrunner.exp Qt5Network.lib(qsslsocket_openssl_symbols.obj) : error LNK2019: unresolved external symbol _OPENSSL_sk_num referenced in function "int __cdecl com_imaginando_qt_5_10_32::q_OPENSSL_sk_num(struct stack_st *)" (?q_OPENSSL_sk_num at com_imaginando_qt_5_10_32@@YAHPAUstack_st@@@Z) … Qt5Network.lib(qsslsocket_openssl_symbols.obj) : error LNK2019: unresolved external symbol _DH_get0_pqg referenced in function "void __cdecl com_imaginando_qt_5_10_32::q_DH_get0_pqg(struct dh_st const *,struct bignum_st const * *,struct bignum_st const * *,struct bignum_st const * *)" (?q_DH_get0_pqg at com_imaginando_qt_5_10_32@@YAXPBUdh_st@@PAPBUbignum_st@@11 at Z) ..\..\bin\qmltestrunner.exe : fatal error LNK1120: 205 unresolved externals Any suggestions? Thx! Regards, Nuno From jhihn at gmx.com Fri Oct 27 15:39:54 2017 From: jhihn at gmx.com (Jason H) Date: Fri, 27 Oct 2017 15:39:54 +0200 Subject: [Interest] QMap crash when using QtConcurrent::blockingMapped() (Solved) In-Reply-To: References: Message-ID: An HTML attachment was scrubbed... URL: From jhihn at gmx.com Fri Oct 27 15:52:30 2017 From: jhihn at gmx.com (Jason H) Date: Fri, 27 Oct 2017 15:52:30 +0200 Subject: [Interest] QMap crash when using QtConcurrent::blockingMapped() In-Reply-To: References: Message-ID: > Sent: Friday, October 27, 2017 at 6:44 AM > From: "Konstantin Shegunov" > On Fri, Oct 27, 2017 at 9:45 AM, Elvis Stansvik wrote: > > QMap isn't thread safe, so I don't think your use is guaranteed to be safe, even if you're only reading.   > You're right, in the formal sense of the word, but if there are no `mutable` members or `const_cast` usage a reentrant class can be used from different threads IF the calls are read-only. I sometimes use `QHash` like this where I need to read from a pre-populated hash from different threads, with the understanding there's no need to lock something if the memory is never changed. I think that is the operative definition of "reentrant"? "Thread-safe" would imply mean that any mutating operations would succeed and leave things in a consistent state, usually via mutex. Reentrant would imply the same function can be called in an overlapping manner. Reentrant and thread safe means that both are true. The QMap documentation explicitly states that it is not thread safe, but it is reentrant. Which is how I am using it and why I posted. Where I did mess up is in using non-const [] which can cause mutations, though it's use in my situation did not need to, so I did not expect it to, but it did anyway. :shrug: So getting back to your statement "I don't think your use is guaranteed to be safe, even if you're only reading." I think *is* guaranteed to be safe by the documentation, as long as I use it correctly. Anyway, just wanted to point that out if you missed it in the docs. :-) Knowing it's reentrant can be a big help. From asmaloney at gmail.com Fri Oct 27 16:00:29 2017 From: asmaloney at gmail.com (Andy) Date: Fri, 27 Oct 2017 10:00:29 -0400 Subject: [Interest] Whats the new openssl lib version to link Qt 5.10 against? In-Reply-To: References: Message-ID: I think I read somewhere along the way that 5.10 has moved to OpenSSL 1.1. The only thing I can find right now is: https://wiki.qt.io/New_Features_in_Qt_5.10 Under "Qt Network" -> "OpenSSL 1.1 back-end". Maybe try linking with it instead of 1.0? --- Andy Maloney // https://asmaloney.com twitter ~ @asmaloney On Fri, Oct 27, 2017 at 5:56 AM, Nuno Santos wrote: > Hi, > > I was building Qt 5.8 from the source linking with openssl 1.0.2j > > Yesterday I started building Qt 5.10 but it is not linking against 1.0.2j > > I’m not sure if this is if this is due to a new required openssl version > or because of some building problems. > > Does the required openssl version changed for Qt 5.10? > > Thx! > > Regards, > > Nuno > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -------------- next part -------------- An HTML attachment was scrubbed... URL: From nunosantos at imaginando.pt Fri Oct 27 16:52:38 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Fri, 27 Oct 2017 15:52:38 +0100 Subject: [Interest] Whats the new openssl lib version to link Qt 5.10 against? In-Reply-To: References: Message-ID: Andy, Yeah, I saw that and I have downloaded openssl-1.1 but still no joy. There must be a detail missing somewhere… Couldn’t find it yet :( Thx! Nuno > On 27 Oct 2017, at 15:00, Andy wrote: > > I think I read somewhere along the way that 5.10 has moved to OpenSSL 1.1. > > The only thing I can find right now is: > > https://wiki.qt.io/New_Features_in_Qt_5.10 > > Under "Qt Network" -> "OpenSSL 1.1 back-end". > > Maybe try linking with it instead of 1.0? > > --- > Andy Maloney // https://asmaloney.com > twitter ~ @asmaloney > > On Fri, Oct 27, 2017 at 5:56 AM, Nuno Santos > wrote: > Hi, > > I was building Qt 5.8 from the source linking with openssl 1.0.2j > > Yesterday I started building Qt 5.10 but it is not linking against 1.0.2j > > I’m not sure if this is if this is due to a new required openssl version or because of some building problems. > > Does the required openssl version changed for Qt 5.10? > > Thx! > > Regards, > > Nuno > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiago.macieira at intel.com Fri Oct 27 17:22:00 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Fri, 27 Oct 2017 08:22:00 -0700 Subject: [Interest] Excluding Qt Modules In-Reply-To: References: <55DED672-59D2-4546-9B69-F6D3ADE62488@imaginando.pt> Message-ID: <1604207.rnczn37l71@tjmaciei-mobl1> On Friday, 27 October 2017 02:59:06 PDT Nuno Santos wrote: > Jean, > > Thanks for your reply. > > By default all the modules are selected unless you specify which ones it > should skip. > > How can I do the opposite? Initialising only the modules I want? Option 1: clone only the ones you want. Option 2 and much simpler: build everything. Just don't use what you don't want to use. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From thiago.macieira at intel.com Fri Oct 27 17:22:52 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Fri, 27 Oct 2017 08:22:52 -0700 Subject: [Interest] Whats the new openssl lib version to link Qt 5.10 against? In-Reply-To: References: Message-ID: <4830408.efEtkSqxPT@tjmaciei-mobl1> On Friday, 27 October 2017 02:56:54 PDT Nuno Santos wrote: > Hi, > > I was building Qt 5.8 from the source linking with openssl 1.0.2j > > Yesterday I started building Qt 5.10 but it is not linking against 1.0.2j > > I’m not sure if this is if this is due to a new required openssl version or > because of some building problems. > > Does the required openssl version changed for Qt 5.10? No. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From thiago.macieira at intel.com Fri Oct 27 17:25:40 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Fri, 27 Oct 2017 08:25:40 -0700 Subject: [Interest] Can't build Qt 5.10 statically from source on Windows - fails to link with OpenSSL In-Reply-To: <8353BA2F-7520-4972-96AB-03E727096D4A@imaginando.pt> References: <8353BA2F-7520-4972-96AB-03E727096D4A@imaginando.pt> Message-ID: <1721906.Z4RO6g24Ah@tjmaciei-mobl1> On Friday, 27 October 2017 04:48:15 PDT Nuno Santos wrote: > Qt5Network.lib(qsslsocket_openssl_symbols.obj) : error LNK2019: unresolved > external symbol _DH_get0_pqg That's an OpenSSL 1.1 symbol and is only used in QtNetwork if you compile with OpenSSL 1.1 support. Erase your build and configure again. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From nunosantos at imaginando.pt Fri Oct 27 17:38:39 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Fri, 27 Oct 2017 16:38:39 +0100 Subject: [Interest] Can't build Qt 5.10 statically from source on Windows - fails to link with OpenSSL In-Reply-To: <1721906.Z4RO6g24Ah@tjmaciei-mobl1> References: <8353BA2F-7520-4972-96AB-03E727096D4A@imaginando.pt> <1721906.Z4RO6g24Ah@tjmaciei-mobl1> Message-ID: Thiago, I have been cleaning and building all morning. I keep my configure lines in a file and I haven’t been doing this since 5.8. If nothing changed, the old lines should have worked. I think the problem might have something to do with the OPENSSL_LIBS env var definition. I had this OPENSSL_LIBS_DEBUG="libeay32MTd.lib ssleay32MTd.lib" OPENSSL_LIBS_RELEASE="libeay32MT.lib ssleay32MT.lib” and now I have been digging through the generated make files and it seems that some extra quotes were being added to the /LIBSPATH command I have removed them manually on the make file and tried to compiled and it compiled successfully but when I clean, configure and build again, the quotes are being added again: /LIBPATH:C:\Qt\5.10.0\src\qtdeclarative\lib /LIBPATH:" c:\openssl-lib-1.1\lib libcryptoMTd.lib libsslMTd.lib" C:\Qt\5.10.0\src\qtdeclarative\plugins\qmltooling\qmldbg_inspectord.lib C:\Qt\5.10.0\src\qtdeclarative\plugins\qmltooling\qmldbg_locald.lib What do you think is adding this extra quotes? While it was able to compile qmltestrunner after manually changing the makefile, it has now stopped on the next dependency with the same error Thx! Regards, Nuno > On 27 Oct 2017, at 16:25, Thiago Macieira wrote: > > On Friday, 27 October 2017 04:48:15 PDT Nuno Santos wrote: >> Qt5Network.lib(qsslsocket_openssl_symbols.obj) : error LNK2019: unresolved >> external symbol _DH_get0_pqg > > That's an OpenSSL 1.1 symbol and is only used in QtNetwork if you compile with > OpenSSL 1.1 support. > > Erase your build and configure again. > > -- > Thiago Macieira - thiago.macieira (AT) intel.com > Software Architect - Intel Open Source Technology Center > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From nunosantos at imaginando.pt Fri Oct 27 18:16:29 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Fri, 27 Oct 2017 17:16:29 +0100 Subject: [Interest] Can't build Qt 5.10 statically from source on Windows - fails to link with OpenSSL In-Reply-To: References: <8353BA2F-7520-4972-96AB-03E727096D4A@imaginando.pt> <1721906.Z4RO6g24Ah@tjmaciei-mobl1> Message-ID: Thiago, I have tried to set set OPENSSL_LIBS=-L c:\openssl-lib-1.1\lib libsslMTd.lib libcryptoMTd.lib instead of set OPENSSL_LIBS='-L c:\openssl-lib-1.1\lib libsslMTd.lib libcryptoMTd.lib’ Then I clean the build dir, configured again and build. This time the lib path is not being set at all. So, if I use the first command, it does add the /LIBPATH: command to the makefile but with extra quotes, that ruin everything If I use the second command it does not add the /LIBPATH: command to the makefile at all. In 5.8 configured used to tell us that we should use OPENSSL_LIBS_DEBUG and OPENSSL_LIBS_RELEASE vars. Now there is only OPENSSL_LIBS. Something has definitely changed. I’m unable to built it. Regards, Nuno > On 27 Oct 2017, at 16:38, Nuno Santos wrote: > > Thiago, > > I have been cleaning and building all morning. > > I keep my configure lines in a file and I haven’t been doing this since 5.8. If nothing changed, the old lines should have worked. > > I think the problem might have something to do with the OPENSSL_LIBS env var definition. I had this > > OPENSSL_LIBS_DEBUG="libeay32MTd.lib ssleay32MTd.lib" OPENSSL_LIBS_RELEASE="libeay32MT.lib ssleay32MT.lib” > > and now I have been digging through the generated make files and it seems that some extra quotes were being added to the /LIBSPATH command > > I have removed them manually on the make file and tried to compiled and it compiled successfully but when I clean, configure and build again, the quotes are being added again: > > /LIBPATH:C:\Qt\5.10.0\src\qtdeclarative\lib /LIBPATH:" c:\openssl-lib-1.1\lib libcryptoMTd.lib libsslMTd.lib" C:\Qt\5.10.0\src\qtdeclarative\plugins\qmltooling\qmldbg_inspectord.lib C:\Qt\5.10.0\src\qtdeclarative\plugins\qmltooling\qmldbg_locald.lib > > What do you think is adding this extra quotes? > > While it was able to compile qmltestrunner after manually changing the makefile, it has now stopped on the next dependency with the same error > > Thx! > > Regards, > > Nuno > >> On 27 Oct 2017, at 16:25, Thiago Macieira > wrote: >> >> On Friday, 27 October 2017 04:48:15 PDT Nuno Santos wrote: >>> Qt5Network.lib(qsslsocket_openssl_symbols.obj) : error LNK2019: unresolved >>> external symbol _DH_get0_pqg >> >> That's an OpenSSL 1.1 symbol and is only used in QtNetwork if you compile with >> OpenSSL 1.1 support. >> >> Erase your build and configure again. >> >> -- >> Thiago Macieira - thiago.macieira (AT) intel.com >> Software Architect - Intel Open Source Technology Center >> >> _______________________________________________ >> Interest mailing list >> Interest at qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From elvstone at gmail.com Fri Oct 27 18:43:57 2017 From: elvstone at gmail.com (Elvis Stansvik) Date: Fri, 27 Oct 2017 18:43:57 +0200 Subject: [Interest] QMap crash when using QtConcurrent::blockingMapped() In-Reply-To: References: Message-ID: 2017-10-27 15:52 GMT+02:00 Jason H : >> Sent: Friday, October 27, 2017 at 6:44 AM >> From: "Konstantin Shegunov" >> On Fri, Oct 27, 2017 at 9:45 AM, Elvis Stansvik wrote: > >> > QMap isn't thread safe, so I don't think your use is guaranteed to be safe, even if you're only reading. > >> You're right, in the formal sense of the word, but if there are no `mutable` members or `const_cast` usage a reentrant class can be used from different threads IF the calls are read-only. I sometimes use `QHash` like this where I need to read from a pre-populated hash from different threads, with the understanding there's no need to lock something if the memory is never changed. > > > I think that is the operative definition of "reentrant"? "Thread-safe" would imply mean that any mutating operations would succeed and leave things in a consistent state, usually via mutex. Reentrant would imply the same function can be called in an overlapping manner. Reentrant and thread safe means that both are true. The QMap documentation explicitly states that it is not thread safe, but it is reentrant. Which is how I am using it and why I posted. Where I did mess up is in using non-const [] which can cause mutations, though it's use in my situation did not need to, so I did not expect it to, but it did anyway. :shrug: The definition of reentrant that Qt's documentation uses is documented at http://doc.qt.io/qt-5/threads-reentrancy.html. It's a little different from the one used in for example the POSIX C API. Reentrant in the object oriented context of Qt means: It's safe to call member functions from different threads _if_ the calls are made on different instances. In your case you were making calls on the same instance. You may be getting away with it by only calling const member functions, and hoping that the class isn't modifying some `mutable` stuff in its implementation. But the implementation isn't documented, so it's by no means guaranteed AFAIK. Elvis > > So getting back to your statement "I don't think your use is guaranteed to be safe, even if you're only reading." I think *is* guaranteed to be safe by the documentation, as long as I use it correctly. Anyway, just wanted to point that out if you missed it in the docs. :-) Knowing it's reentrant can be a big help. From thiago.macieira at intel.com Fri Oct 27 19:03:46 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Fri, 27 Oct 2017 10:03:46 -0700 Subject: [Interest] QMap crash when using QtConcurrent::blockingMapped() In-Reply-To: References: Message-ID: <4956892.OmPAJDFkco@tjmaciei-mobl1> On Friday, 27 October 2017 09:43:57 PDT Elvis Stansvik wrote: > Reentrant in the object oriented context of Qt means: It's safe to > call member functions from different threads _if_ the calls are made > on different instances. > > In your case you were making calls on the same instance. Calling const functions on the same instance is safe, provided no other threads are calling non-const functions. He was calling a non-const function. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From thiago.macieira at intel.com Fri Oct 27 19:06:52 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Fri, 27 Oct 2017 10:06:52 -0700 Subject: [Interest] Can't build Qt 5.10 statically from source on Windows - fails to link with OpenSSL In-Reply-To: References: <8353BA2F-7520-4972-96AB-03E727096D4A@imaginando.pt> Message-ID: <3254373.o7c1MyebBf@tjmaciei-mobl1> On Friday, 27 October 2017 09:16:29 PDT Nuno Santos wrote: > Thiago, > > I have tried to set > > set OPENSSL_LIBS=-L c:\openssl-lib-1.1\lib libsslMTd.lib libcryptoMTd.lib > > instead of > > set OPENSSL_LIBS='-L c:\openssl-lib-1.1\lib libsslMTd.lib libcryptoMTd.lib’ Please stick to OpenSSL 1.0, because the error you're getting is a caused by using OpenSSL 1.1. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From kde at carewolf.com Fri Oct 27 20:07:05 2017 From: kde at carewolf.com (Allan Sandfeld Jensen) Date: Fri, 27 Oct 2017 20:07:05 +0200 Subject: [Interest] Whats the new openssl lib version to link Qt 5.10 against? In-Reply-To: References: Message-ID: <1610939.1tvMsugXua@twilight> On Freitag, 27. Oktober 2017 11:56:54 CEST Nuno Santos wrote: > Hi, > > I was building Qt 5.8 from the source linking with openssl 1.0.2j > > Yesterday I started building Qt 5.10 but it is not linking against 1.0.2j > > I’m not sure if this is if this is due to a new required openssl version or > because of some building problems. > > Does the required openssl version changed for Qt 5.10? > No. Qt 5.10 can now link against either openssl 1.0 or openssl 1.1. But note they are not binary compatible, so it is only one of them, and configure needs to pick up the right one or the compile will fail. 'Allan From elvstone at gmail.com Fri Oct 27 20:14:35 2017 From: elvstone at gmail.com (Elvis Stansvik) Date: Fri, 27 Oct 2017 20:14:35 +0200 Subject: [Interest] QMap crash when using QtConcurrent::blockingMapped() In-Reply-To: <4956892.OmPAJDFkco@tjmaciei-mobl1> References: <4956892.OmPAJDFkco@tjmaciei-mobl1> Message-ID: 2017-10-27 19:03 GMT+02:00 Thiago Macieira : > On Friday, 27 October 2017 09:43:57 PDT Elvis Stansvik wrote: >> Reentrant in the object oriented context of Qt means: It's safe to >> call member functions from different threads _if_ the calls are made >> on different instances. >> >> In your case you were making calls on the same instance. > > Calling const functions on the same instance is safe, provided no other > threads are calling non-const functions. > > He was calling a non-const function. Alright. Thanks for clarifying. Is that a guarantee that holds for all classes marked reentrant in Qt? (that const functions are safe even when called on the same instance) If so, maybe the docs page I linked should be updated to mention this [1]. I thought that Qt wanted to reserve the right to do thread unsafe stuff even in const functions, and that was the reason for the definition of reentrant explained there. Elvis [1] http://doc.qt.io/qt-5/threads-reentrancy.html > > -- > Thiago Macieira - thiago.macieira (AT) intel.com > Software Architect - Intel Open Source Technology Center > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest From thiago.macieira at intel.com Fri Oct 27 20:22:39 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Fri, 27 Oct 2017 11:22:39 -0700 Subject: [Interest] QMap crash when using QtConcurrent::blockingMapped() In-Reply-To: References: <4956892.OmPAJDFkco@tjmaciei-mobl1> Message-ID: <5516714.u7kWmeTGxr@tjmaciei-mobl1> On Friday, 27 October 2017 11:14:35 PDT Elvis Stansvik wrote: > 2017-10-27 19:03 GMT+02:00 Thiago Macieira : > > On Friday, 27 October 2017 09:43:57 PDT Elvis Stansvik wrote: > >> Reentrant in the object oriented context of Qt means: It's safe to > >> call member functions from different threads _if_ the calls are made > >> on different instances. > >> > >> In your case you were making calls on the same instance. > > > > Calling const functions on the same instance is safe, provided no other > > threads are calling non-const functions. > > > > He was calling a non-const function. > > Alright. Thanks for clarifying. Is that a guarantee that holds for all > classes marked reentrant in Qt? (that const functions are safe even > when called on the same instance) I can't say for sure. Most of them will be like that, and definitely all the containers. There may be a few bugs here and there, code that does const_cast and needs to be fixed. > If so, maybe the docs page I linked should be updated to mention this [1]. > > I thought that Qt wanted to reserve the right to do thread unsafe > stuff even in const functions, and that was the reason for the > definition of reentrant explained there. I will reject any change that tries to do that. But we may still have some of them lying around. For example: https://github.com/qt/qt/blob/4.8/src/corelib/global/qglobal.h#L2088-L2090 -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From elvstone at gmail.com Fri Oct 27 20:38:33 2017 From: elvstone at gmail.com (Elvis Stansvik) Date: Fri, 27 Oct 2017 20:38:33 +0200 Subject: [Interest] QMap crash when using QtConcurrent::blockingMapped() In-Reply-To: <5516714.u7kWmeTGxr@tjmaciei-mobl1> References: <4956892.OmPAJDFkco@tjmaciei-mobl1> <5516714.u7kWmeTGxr@tjmaciei-mobl1> Message-ID: 2017-10-27 20:22 GMT+02:00 Thiago Macieira : > On Friday, 27 October 2017 11:14:35 PDT Elvis Stansvik wrote: >> 2017-10-27 19:03 GMT+02:00 Thiago Macieira : >> > On Friday, 27 October 2017 09:43:57 PDT Elvis Stansvik wrote: >> >> Reentrant in the object oriented context of Qt means: It's safe to >> >> call member functions from different threads _if_ the calls are made >> >> on different instances. >> >> >> >> In your case you were making calls on the same instance. >> > >> > Calling const functions on the same instance is safe, provided no other >> > threads are calling non-const functions. >> > >> > He was calling a non-const function. >> >> Alright. Thanks for clarifying. Is that a guarantee that holds for all >> classes marked reentrant in Qt? (that const functions are safe even >> when called on the same instance) > > I can't say for sure. Most of them will be like that, and definitely all the > containers. > > There may be a few bugs here and there, code that does const_cast and needs to > be fixed. > >> If so, maybe the docs page I linked should be updated to mention this [1]. >> >> I thought that Qt wanted to reserve the right to do thread unsafe >> stuff even in const functions, and that was the reason for the >> definition of reentrant explained there. > > I will reject any change that tries to do that. But we may still have some of > them lying around. For example: > > https://github.com/qt/qt/blob/4.8/src/corelib/global/qglobal.h#L2088-L2090 > Alright, yes it would of course be bad practice and you'll do right to reject such nonsense. Just wanted to give Jason a heads up that the definition of reentrant that's in Qt's docs does not guarantee it, even if it's very likely to be practically safe for the majority of classes. Elvis > -- > Thiago Macieira - thiago.macieira (AT) intel.com > Software Architect - Intel Open Source Technology Center > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest From thiago.macieira at intel.com Fri Oct 27 20:51:15 2017 From: thiago.macieira at intel.com (Thiago Macieira) Date: Fri, 27 Oct 2017 11:51:15 -0700 Subject: [Interest] QMap crash when using QtConcurrent::blockingMapped() In-Reply-To: <5516714.u7kWmeTGxr@tjmaciei-mobl1> References: <5516714.u7kWmeTGxr@tjmaciei-mobl1> Message-ID: <9045654.tJxICdf4ZB@tjmaciei-mobl1> On Friday, 27 October 2017 11:22:39 PDT Thiago Macieira wrote: > I will reject any change that tries to do that. But we may still have some > of them lying around. For example: > > https://github.com/qt/qt/blob/4.8/src/corelib/global/qglobal.h#L2088-L2090 Wrong link. I meant https://code.woboq.org/qt5/qtbase/src/corelib/tools/ qstring.cpp.html#_ZNK7QString5utf16Ev -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center From roland at logikalsolutions.com Fri Oct 27 21:03:35 2017 From: roland at logikalsolutions.com (Roland Hughes) Date: Fri, 27 Oct 2017 14:03:35 -0500 Subject: [Interest] QMap crash when using, QtConcurrent::blockingMapped() In-Reply-To: References: Message-ID: <7a15b1e8-9de3-c21f-3e95-740fecdd6da7@logikalsolutions.com> On 10/27/2017 01:20 PM, interest-request at qt-project.org wrote: >> QMap isn't thread safe, so I don't think your use is guaranteed to be >> safe, even if you're only reading. >> > You're right, in the formal sense of the word, but if there are no > `mutable` members or `const_cast` usage a reentrant class can be used from > different threads IF the calls are read-only. I sometimes use `QHash` like > this where I need to read from a pre-populated hash from different threads, > with the understanding there's no need to lock something if the memory is > never changed. One must be __very__ careful when tossing around the phrase "read only" when speaking of QMap. http://doc.qt.io/qt-5/qmap.html#operator-5b-5d T&QMap::operator[](constKey&/key/) Returns the value associated with the key/key/as a modifiable reference. *If the map contains no item with key****/key/**, the function inserts a*default-constructed value into the map with key/key/, and returns a reference to it. If the map contains multiple items with key/key/, this function returns a reference to the most recently inserted value. Even if you only intend to read [] has modify capability. http://doc.qt.io/qt-5/qmap.html#value constTQMap::value(constKey&/key/, constT&/defaultValue/= T()) const Returns the value associated with the key/key/. If the map contains no item with key/key/, the function returns/defaultValue/. If no/defaultValue/is specified, the function returns adefault-constructed value . If there are multiple items for/key/in the map, the value of the most recently inserted one is returned. Notice the doc makes no hint about value() having write access to the data. Could lull someone into thinking it is safe across threads. Let us not forget Qt's copy-when-needed shared data. I jumped into this late and didn't see the code for the QMap. If the value is an integer you will be fine, but, it used to be even a QString delayed copy until it had to so even something like: QString myLocalStr = myMap.value("blah"); could create this time bomb when myMap exists in a different thread and the copy source/dest addresses could move before "when-needed" occurred. Used to be a problem anyway. I've modified my designs so long ago I just never run into these issues anymore. -- Roland Hughes, President Logikal Solutions (630)-205-1593 http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.johnsmith-book.com http://www.logikalblog.com http://www.interestingauthors.com/blog http://lesedi.us/ http://onedollarcontentstore.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From elvstone at gmail.com Fri Oct 27 21:45:06 2017 From: elvstone at gmail.com (Elvis Stansvik) Date: Fri, 27 Oct 2017 21:45:06 +0200 Subject: [Interest] QMap crash when using QtConcurrent::blockingMapped() In-Reply-To: <9045654.tJxICdf4ZB@tjmaciei-mobl1> References: <5516714.u7kWmeTGxr@tjmaciei-mobl1> <9045654.tJxICdf4ZB@tjmaciei-mobl1> Message-ID: 2017-10-27 20:51 GMT+02:00 Thiago Macieira : > On Friday, 27 October 2017 11:22:39 PDT Thiago Macieira wrote: >> I will reject any change that tries to do that. But we may still have some >> of them lying around. For example: >> >> https://github.com/qt/qt/blob/4.8/src/corelib/global/qglobal.h#L2088-L2090 > > Wrong link. > > I meant > https://code.woboq.org/qt5/qtbase/src/corelib/tools/ > qstring.cpp.html#_ZNK7QString5utf16Ev Ah indeed. So one example of a "const" function in a central class that is potentially unsafe, despite the class being marked as reentrant. So Jason: Trust Thiago when he says the const QMap methods you're using in this case are safe, but don't trust the const to always be an indicator of them being safe. Elvis > > -- > Thiago Macieira - thiago.macieira (AT) intel.com > Software Architect - Intel Open Source Technology Center > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest From kshegunov at gmail.com Fri Oct 27 23:04:29 2017 From: kshegunov at gmail.com (Konstantin Shegunov) Date: Sat, 28 Oct 2017 00:04:29 +0300 Subject: [Interest] QMap crash when using QtConcurrent::blockingMapped() In-Reply-To: References: Message-ID: On Fri, Oct 27, 2017 at 7:43 PM, Elvis Stansvik wrote: > > The definition of reentrant that Qt's documentation uses is documented > at http://doc.qt.io/qt-5/threads-reentrancy.html. > > It's a little different from the one used in for example the POSIX C API. > It's pretty much the same thing, just phrased in a different manner (the latter being applied to the context of C). Methods are stored in the static part of the binary and they are referring to a class, not to an object. The object (i.e. the `this` pointer which holds the reference to the memory) is local to the method, and is being "injected" by the compiler into the method. Objects by themselves are little more but a simple C struct. But before we venture into an academic debate about it, let me say that the reentrancy issue here is a red herring. It doesn't really matter. The only thing that matters is that a specific class method guarantees that there will be no writes performed to a memory location by declaring a method as non-mutable. It doesn't matter if this memory location is global to the application or specific to an object you only want to know that it does not write to the memory. If you know that, which I knew is true for the containers because I'd checked the code and had used that behavior numerous times, gives you the ability to use the object from different threads provided you only use `const` methods. And naturally, Thiago, confirms it's an intended behavior. > but don't trust the const to always be an indicator of them being safe. Which no one really claimed to be the case. -------------- next part -------------- An HTML attachment was scrubbed... URL: From elvstone at gmail.com Sat Oct 28 14:57:39 2017 From: elvstone at gmail.com (Elvis Stansvik) Date: Sat, 28 Oct 2017 14:57:39 +0200 Subject: [Interest] QMap crash when using QtConcurrent::blockingMapped() In-Reply-To: References: Message-ID: 2017-10-27 23:04 GMT+02:00 Konstantin Shegunov : > On Fri, Oct 27, 2017 at 7:43 PM, Elvis Stansvik wrote: >> >> The definition of reentrant that Qt's documentation uses is documented >> at http://doc.qt.io/qt-5/threads-reentrancy.html. >> >> It's a little different from the one used in for example the POSIX C API. > > > It's pretty much the same thing, just phrased in a different manner (the > latter being applied to the context of C). > > Methods are stored in the static part of the binary and they are referring > to a class, not to an object. The object (i.e. the `this` pointer which > holds the reference to the memory) is local to the method, and is being > "injected" by the compiler into the method. Objects by themselves are little > more but a simple C struct. But before we venture into an academic debate > about it, let me say that the reentrancy issue here is a red herring. It > doesn't really matter. The only thing that matters is that a specific class > method guarantees that there will be no writes performed to a memory > location by declaring a method as non-mutable. It doesn't matter if this > memory location is global to the application or specific to an object you > only want to know that it does not write to the memory. > > If you know that, which I knew is true for the containers because I'd > checked the code and had used that behavior numerous times, gives you the > ability to use the object from different threads provided you only use > `const` methods. And naturally, Thiago, confirms it's an intended behavior. > >> >> but don't trust the const to always be an indicator of them being safe. > > > Which no one really claimed to be the case. Alright, then I misunderstood. Sorry about that! I didn't mean to start a debate at all, and agree with everything you said. All I wanted to say was that the reentrant definition that Qt uses in its docs does not guarantee that the const methods are safe to call on the same instance from different threads (even if they likely are). You'll have to turn to the code or to a trusted authority like Thiago to ensure that they are. Anyway, Jason solved his problem, so all is well :) Best regards, Elvis From kshegunov at gmail.com Sun Oct 29 12:51:46 2017 From: kshegunov at gmail.com (Konstantin Shegunov) Date: Sun, 29 Oct 2017 13:51:46 +0200 Subject: [Interest] QMap crash when using QtConcurrent::blockingMapped() In-Reply-To: References: Message-ID: On Sat, Oct 28, 2017 at 3:57 PM, Elvis Stansvik wrote: > > Alright, then I misunderstood. Sorry about that! > I didn't mean to start a debate at all, and agree with everything you said. > No need for apologies, I'm not looking to place blame or start a feud, just trying to make clear what was meant in my previous mail(s). > All I wanted to say was that the reentrant definition that Qt uses in > its docs does not guarantee that the const methods are safe to call on > the same instance from different threads (even if they likely are). > On this we most certainly agree. > Anyway, Jason solved his problem, so all is well :) > Yes, which really is the important thing. :) Kind regards, Konstantin. -------------- next part -------------- An HTML attachment was scrubbed... URL: From Sudhir.Sharma at mindtree.com Mon Oct 30 13:22:11 2017 From: Sudhir.Sharma at mindtree.com (Sudhir Sharma) Date: Mon, 30 Oct 2017 12:22:11 +0000 Subject: [Interest] lupdate : Compilation Error In-Reply-To: <7553677.dPLXfiWlux@tjmaciei-mobl1> References: <7553677.dPLXfiWlux@tjmaciei-mobl1> Message-ID: I get the following Compiler Version with CL command: Compiler Version 19.00.24215.1 for x86 Regards, Sudhir -----Original Message----- From: Interest [mailto:interest-bounces+sudhir.sharma=mindtree.com at qt-project.org] On Behalf Of Thiago Macieira Sent: Wednesday, October 25, 2017 9:15 PM To: interest at qt-project.org Subject: Re: [Interest] lupdate : Compilation Error * You are receiving this mail from an external source * On Wednesday, 25 October 2017 02:45:20 PDT Sudhir Sharma wrote: > Getting following error when compiling .ts file in QT 5.9.2. > > --- (lupdate) > --- WARNING: Project ERROR: Cannot run compiler 'cl'. Maybe you forgot > to setup the environment? > > It worked fine in QT 4.8. > > Any additional configuration required in 5.9? No, there shouldn't be. Type "cl" in your command prompt or shell. What version does it say it is? -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center _______________________________________________ Interest mailing list Interest at qt-project.org http://lists.qt-project.org/mailman/listinfo/interest ________________________________ http://www.mindtree.com/email/disclaimer.html From viktor.engelmann at qt.io Mon Oct 30 13:49:51 2017 From: viktor.engelmann at qt.io (Viktor Engelmann) Date: Mon, 30 Oct 2017 13:49:51 +0100 Subject: [Interest] File Dialog in WebEngine In-Reply-To: References: <1517688.l9p8PlvTLI@twilight> Message-ID: <7d8a89d6-c4be-b0ec-29b0-84d450efd9fb@qt.io> It appears like the saving is treated like a download internally. Do you have your WebEngine configured to allow downloads? (by default, it doesn't!) You can allow them like this     QObject::connect(webengineview->page()->profile(), &QWebEngineProfile::downloadRequested,         [](QWebEngineDownloadItem* item){             item->accept();         }); On 24.10.2017 12:12, Sudhir Sharma wrote: > Using JS library "FileSaver.js". > > Function Calls: > > Invoke File Save dialog with function call "saveAs()" -- Viktor Engelmann Software Engineer The Qt Company GmbH Rudower Chaussee 13 D-12489 Berlin Viktor.Engelmann at qt.io +49 151 26784521 http://qt.io Geschäftsführer: Mika Pälsi, Juha Varelius, Mika Harjuaho Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B The Future is Written with Qt www.qtworldsummit.com From nunosantos at imaginando.pt Mon Oct 30 14:13:26 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Mon, 30 Oct 2017 13:13:26 +0000 Subject: [Interest] How to handle Windows magnification tool changes on a Qt app? Message-ID: Hi, There is a setting on Windows to make things bigger. This options is located under display preferences (right click on desktop -> display preferences) I have tried that setting with a Qt Quick app and the result was quite unexpected. At a 150% setting, the app seems to be 4x bigger! How can we detect changes to this setting inside a Qt app and how should we correctly react to changes? Thanks! Regards, Nuno From nunosantos at imaginando.pt Mon Oct 30 16:02:39 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Mon, 30 Oct 2017 15:02:39 +0000 Subject: [Interest] Can't build Qt 5.10 statically from source on Windows - fails to link with OpenSSL In-Reply-To: <3254373.o7c1MyebBf@tjmaciei-mobl1> References: <8353BA2F-7520-4972-96AB-03E727096D4A@imaginando.pt> <3254373.o7c1MyebBf@tjmaciei-mobl1> Message-ID: Thiago, I don’t know what happened. The only difference is that I tried again with openssl-1.0.2 and used the inline env var definition with the following configure line: configure -confirm-license -recheck -prefix c:\qt\5.10.0\msvc2015_5_10_static_32 -commercial -debug-and-release -static -static-runtime -nomake examples -nomake tools -nomake tests -opengl dynamic -openssl-linked -I c:\openssl-lib\include -L c:\openssl-lib\lib OPENSSL_LIBS="libeay32MT.lib ssleay32MT.lib" -qtnamespace com_imaginando_qt_5_10_32 Today, it worked at first try! Thanks! Regards, Nuno > On 27 Oct 2017, at 18:06, Thiago Macieira wrote: > > On Friday, 27 October 2017 09:16:29 PDT Nuno Santos wrote: >> Thiago, >> >> I have tried to set >> >> set OPENSSL_LIBS=-L c:\openssl-lib-1.1\lib libsslMTd.lib libcryptoMTd.lib >> >> instead of >> >> set OPENSSL_LIBS='-L c:\openssl-lib-1.1\lib libsslMTd.lib libcryptoMTd.lib’ > > Please stick to OpenSSL 1.0, because the error you're getting is a caused by > using OpenSSL 1.1. > > -- > Thiago Macieira - thiago.macieira (AT) intel.com > Software Architect - Intel Open Source Technology Center > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From ekke at ekkes-corner.org Mon Oct 30 16:25:17 2017 From: ekke at ekkes-corner.org (ekke) Date: Mon, 30 Oct 2017 16:25:17 +0100 Subject: [Interest] Qt iOS - HowTo get access to Images stored at device In-Reply-To: References: <3627758f-e94e-d481-3803-217d9dba8d02@ekkes-corner.org> <4c79738f-5483-3c31-8f5b-9caa573d1632@ekkes-corner.org> Message-ID: <36ba12fa-4532-b58b-de83-e77279466359@ekkes-corner.org> Shawn, you're right: I can use the QML FileDialog http://doc.qt.io/qt-5/qml-qtquick-dialogs-filedialog.html from my QtQuickControls2 APP without the need to add +widgets. I was confused because doc for Qt.labs FileDialog https://doc.qt.io/qt-5/qml-qt-labs-platform-filedialog.html is mentioning that widgets are needed. Now this simple FileDialog opens the native iOS Image Picker: FileDialog {     folder: shortcuts.pictures } Hint: to open this FileDialog from inside a QQC2 Dialog I had to use an extra QML File. Selecting an Image returns an URL I can use as Image source. Compared this URL with the FilePath I got from C++ QFileInfo and found out why it didn't work before: I had to encode the '?' Path from QML: "file:assets-library://asset/asset.PNG%3Fid=C6E6...77E9&ext=PNG" Path from C++: "assets-library://asset/asset.PNG?id=C6E6...77E9&ext=PNG" To convert QML path to be used with QFile etc: QUrl url(path); path = url.toLocalFile(); To convert C++ path to be displayed as QML Image: path = "file:"+fileInfo.filePath().replace("?","%3F") thx to all helping - now I can go on to develop my QQC2 FilePicker for Android iOS. will be soon available at Github :) ekke Am 27.10.17 um 11:01 schrieb Shawn Rutledge: >> On 26 Oct 2017, at 17:02, ekke wrote: >> >> Am 26.10.17 um 16:11 schrieb Shawn Rutledge: >>>> On 26 Oct 2017, at 15:12, ekke >>>> wrote: >>>> >>>> Jeffrey, >>>> >>>> thx >>>> >>>> at the moment it's ok for me to use >>>> QStandardPaths::standardLocations(QStandardPaths::PicturesLocation).last() >>>> >>>> Using Objective-C++ Photos framework would give some more comfort, >>>> but wouldn't help to access these Photos from QML >>>> >>> >From QML, the QtQuick.Dialogs FileDialog has special support for getting a native photo picker: >>> >>> >>> http://doc.qt.io/qt-5/qml-qtquick-dialogs-filedialog.html#folder-prop >> if I understood it right, to use FileDialog I must add >> QT += widgets >> also https://doc.qt.io/qt-5/qml-qt-labs-platform-filedialog.html needs widgets and QApplication instead of QGuiApplication. > That’s not necessary on iOS AFAIK. Widget-based dialogs are an option on desktop systems. The priority is: native dialog if possible (and on iOS, if you are choosing a picture, we treat the photo picker as a native dialog); if not, then use a widget dialog if possible (and if it’s not a QApplication, it’s not possible); if not, then fall back to a plain QML implementation (DefaultFileDialog.qml). > > (Disclaimer: I haven’t tested that on iOS for quite some time. I hope it still works. ;-) > >> want to avoid this because my mobile apps are using QtQuickControls2 only > The work of porting over to Controls 2 dialogs is not done yet. > >>>> it seems that there's no way to construct an URL in QML to access files from assets-library >>>> so probably the best way is to write an ImageProvider to access these Images from QML >>>> >>> After you choose the photo, you will get a URL which works AFAIK. >> in forum I read that this URL works from C++ but not from QML > Not sure about that… I guess I need to test it again. I thought it was possible to set an Image.source property to that URL, for example, but we don’t have much file-reading support in QML otherwise. > From nunosantos at imaginando.pt Tue Oct 31 16:53:17 2017 From: nunosantos at imaginando.pt (Nuno Santos) Date: Tue, 31 Oct 2017 15:53:17 +0000 Subject: [Interest] Windows Touch offset when window is reparented and created with flag Qt::FramelessWindowHint In-Reply-To: References: Message-ID: <2A844C81-AFEF-4263-9C96-46AD7BB04095@imaginando.pt> Hi, I have created a bug report with a Qt based example that allows to reproduce this bug on a touch screen. https://bugreports.qt.io/browse/QTBUG-64116 I would like to ask everyone that has currently applications that require this kind of embedding to up-vote this ticket as it has been immediately closed and marked out of scope apparently without a proper evaluation. I truly love Qt and many of you here know how much, but it is kind of annoying to have to contribute to fix show stopper bugs on a licensed product. Thanks! Best regards, Nuno Santos Founder / CEO / CTO www.imaginando.pt +351 91 621 69 62 > On 26 Oct 2017, at 18:16, Nuno Santos wrote: > > Hi, > > I’m being faced with a problem that I think it might be a bug in Qt. > > But before assuming anything I would like to know if someone has already been faced with this before. > > My application is a plugin for a software host. The host provides a pointer to a native window. In order to make the app run inside that window I do the following: > > - create a QWindow > - set QWindow flags to Qt:Tool | Qt::FramelessWindowHint > - I set the window parent to be the native pointer received from the host > > The problem is that the touch has an offset. When I touch, the app window receives the touch a little bit above and to the right. This problem doesn’t happen on the standalone version of my application when the window frame is shown. Mouse events are precise on all cases. > > Then I have tried not to set the FramelessWindowHint and if I move the window to fit inside the native window, the problem is not that serious but still happens so my guess is that the window frame is not being taken into account when translating the touch input. > > I’m still using Qt 5.8.1 as I really on a static build of Qt for my app. I wonder if this is a known issue and if it has already been reported before and consequently fixed on newer versions of Qt. > > Thanks! > > Best regards, > > Nuno > > > > > > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -------------- next part -------------- An HTML attachment was scrubbed... URL: From Marek.Florianczyk at fmcode.pl Thu Oct 19 09:58:30 2017 From: Marek.Florianczyk at fmcode.pl (Marek =?utf-8?B?RmxvcmlhxYRjenlr?=) Date: Thu, 19 Oct 2017 07:58:30 -0000 Subject: [Interest] WebView will someone shed some light please In-Reply-To: <788a948d-ba07-407c-1b27-faa43ee825cb@risingsoftware.com> References: <3780597.bpLgYaAjT6@franki> <6234384.nAAttVEkCI@franki> <788a948d-ba07-407c-1b27-faa43ee825cb@risingsoftware.com> Message-ID: <3675628.HXLb9Oeh8k@franki> Dnia czwartek, 19 października 2017 09:32:58 CEST Hamish Moffatt pisze: > On 19/10/17 02:14, Marek.Floriańczyk wrote: > > the problem is the same: Can't access camera and microphone. > > Please explain me, how open source webRTC should be different in that case > > ? > > > > There is open source webRTC in Qt and I'm sure it works in QWebEngineView. > > > > But since on mobile platform only available component is a WebView in > > which I can't access camera and microphone what is the difference between > > opensource webRTC and commercial JS library? > > Are you sure that it works on any mobile platform with the commercial > library? > > iOS Safari has not allowed access to the JS getUserMedia() API until iOS > 11. https://caniuse.com/#search=getuser Right. On iOS it works since 11 version Marek > > > > Hamish > _______________________________________________ > Interest mailing list > Interest at qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest