Re: [Development] Windows Timer Resolution: The Great Rule Change

2020-10-07 Thread Thiago Macieira
On Wednesday, 7 October 2020 06:47:27 PDT Philippe wrote:
> Obviously, QThread::msleep is affected, but probably other APIs with a
> timeout (?)
> 
> https://randomascii.wordpress.com/2020/10/04/windows-timer-resolution-the-gr
> eat-rule-change/

Any and all uses of "sleep" are wrong. Given that they are wrong, who cares if 
they sleep for 14 milliseconds too long?

Now, the question is how WaitFor{SingleObject,MultipleObjects} are affected. 
Does this mean that asking for a timeout of 2 milliseconds could result in 
being 13 seconds too late?

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel DPG Cloud Engineering



___
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development


Re: [Development] Stepping down as QtSerialPort maintainer

2020-10-07 Thread André Hartmann

Dear Denis,

I'd also like to thank you for starting and maintaining QtSerialPort for
such a long time.

I have successfully used it in many projects, and as Tomasz already
said, it's really fun to work with that module.

Currently I don't have enough time for maintaining another module, but
I'm ready to help the new maintainer with reviews.

All the best for your new projects, Denis!

Best regards,
André

On 07.10.20 09:54, Tomasz Siekierda wrote:

On Wed, 7 Oct 2020 at 09:40, Denis Shienkov mailto:denis.shien...@gmail.com>> wrote:

[...]


Thanks so much for using QtSerialPort, I'm glad it was useful
to someone.


Thanks for all your work, that module is awesome, I've used it many times.


BR,
Denis


___
Development mailing list
Development@qt-project.org 
https://lists.qt-project.org/listinfo/development


___
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development



___
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development


Re: [Development] Building additional components with Conan for Qt 6

2020-10-07 Thread Konstantin Tokarev


02.10.2020, 16:20, "Konstantin Tokarev" :
> 02.10.2020, 15:53, "Toni Saario" :
>>  One thing to check is that how much the provisioning it is possible to 
>> translate to Conan, I would believe that in the end it does not work for 
>> everything.
>
> Most of provisioning scripts fall into 2 categories:
> 1) Download installer (or other binary package) of 3rd party stuff, verify 
> checksum, install. These scripts are quite simple.
> 2) Build stuff from sources in provisioning time, sometimes in a 
> sophisticated way (e.g. 
> https://code.qt.io/cgit/qt/qt5.git/tree/coin/provisioning/common/windows/android-openssl.ps1).
>  These can be (and IMO should be) replaced with Conan, to reduce provisioning 
> time and complexity.

Of course, it's also possible to use conan packages for category (1), however 
this may require writing quite a few custom recipes (see manual [1]), possibly 
containing more boilerplate than existing ps1 snippets. However, this would 
allow to have a nice list of all provisioned packages with their versions in 
one place.

[1] 
https://docs.conan.io/en/latest/devtools/create_installer_packages.html#create-installer-packages

>>  As for provisioning and why the CI images are different from what are 
>> documented, biggest problem there is that the images are used by other 
>> components also e.g. RTA testing. Those require some additional stuff and 
>> provisioning currently installs everything. AFAIK also all the optional 
>> dependencies are installed, this makes it hard to distinguish between them 
>> and required dependencies because both are always present. These make it 
>> easy that new dependencies etc. slip through unnoticed.
>
> Note that when Conan packages are used via conanfiles (i.e. as it's 
> originally intended by Conan developers), there cannot be any dependency 
> slips because Conan dependencies don't become visible to any project which 
> doesn't require them via conanfile (directly or indirectly).

In this case each testing activity should have its own conanfile with a list of 
dependencies, as well as each Qt project which uses them for building.

>
> I can see another possible way to use Conan in CI - install packages into the 
> system via "deploy" generator so that Qt build system can find them without 
> any knowledge of Conan. I guess this way may be called "Ossi-friendly because 
> Ossi was adamantly opposed to any explicit support of Conan in build system, 
> see e.g. https://codereview.qt-project.org/c/qt/qtbase/+/184241, however this 
> way indeed may cause dependency slips.


-- 
Regards,
Konstantin
___
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development


[Development] Windows Timer Resolution: The Great Rule Change

2020-10-07 Thread Philippe
To whoever is concerned...
 
In short: "The behavior of the Windows scheduler changed significantly in 
Windows 10 2004"
 
Especially, the "common" thread sleep function with 1 as argument
"Sleep(1)", that did cause the thread to sleep about 1 or 2 milliseconds,
is now halting for 15 milliseconds.

As the following article says, WaitForSingleObject and
WaitForMultipleObjects are also affected.

I confirm the Sleep() change with my own tests; it's a bit like if
Sleep(T) sleeps for
std::max(15, T +15);

Obviously, QThread::msleep is affected, but probably other APIs with a
timeout (?)
 
https://randomascii.wordpress.com/2020/10/04/windows-timer-resolution-the-great-rule-change/

Philippe

___
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development


Re: [Development] API (change) review

2020-10-07 Thread Edward Welbourne
Lars Knoll (29 September 2020 20:48) wrote:
>> I hope that Eddy can create an updated header diff for the modules
>> that are part of 6.0 to make reviewing easier.

On 1 October 2020 at 18:51 I wrote
> Done.
> Only qtbase, qtdeclarative, qttools, qtwayland and qt3d have changes
> relative to the previous patch set, though.

Later we noticed we were missing a review for qtquick3d. It turned out I
didn't have that in my dev tree; normally I'd have checked out a new
source tree for the newly-created 6.0 branch and run init-repo on that,
ensuring an up-to-date set of modules, but skipping the branching meant
I was using my old dev repo and didn't realise I'd need an init-repo
run.  So we now have a late addition to the review:

https://codereview.qt-project.org/c/qt/qtquick3d/+/316628

Meanwhile, my apologies (for missing that earlier and) to those on other
reviews, where I forgot to check whether they had any new changes, so
qtsvg, qttools, qt3d, qtquickcontrols2 and qtnetworkauth also have new
patch-sets despite no actual change.

Eddy.
___
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development


Re: [Development] how to get WinId of desktop in Qt6 without QDesktopWidget ?

2020-10-07 Thread Volker Hilsheimer
> On 7 Oct 2020, at 08:24, Martin Koller  wrote:
> 
> Hi,
> 
> in Qt6 the QDesktopWidget is gone, which I used in
> 
>   QWidget *desktop = QApplication::desktop();
>   QPixmap pm = QGuiApplication::screenAt(event->globalPos())->
>grabWindow(desktop->winId(), event->globalPos().x(), 
> event->globalPos().y(), 1, 1);
> 
> How do I get the desktop window id in Qt6 ?


You don’t need one, pass 0 for the WId into QScreen::grabWindow; it’s the 
default in Qt 6. Coordinates are then relative to your virtual desktop (or to 
the screen that you call grabWindow on if you don’t have a virtual desktop 
setup).

Volker

___
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development


Re: [Development] Stepping down as QtSerialPort maintainer

2020-10-07 Thread Tomasz Siekierda
On Wed, 7 Oct 2020 at 09:40, Denis Shienkov 
wrote:

> [...]
>
> Thanks so much for using QtSerialPort, I'm glad it was useful
> to someone.
>

Thanks for all your work, that module is awesome, I've used it many times.


>
> BR,
> Denis
>
>
> ___
> Development mailing list
> Development@qt-project.org
> https://lists.qt-project.org/listinfo/development
>
___
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development


[Development] Stepping down as QtSerialPort maintainer

2020-10-07 Thread Denis Shienkov

Hi all.

Unfortunately, I no longer have the time and desire to maintain
the QtSerialPort module and would like someone else to take it
over. I want to allocate more time for other projects.

I will help maintain and review the code for a new person if
it requires.

Thanks so much for using QtSerialPort, I'm glad it was useful
to someone.

BR,
Denis


___
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development


Re: [Development] how to get WinId of desktop in Qt6 without QDesktopWidget ?

2020-10-07 Thread Volker Hilsheimer
> On 7 Oct 2020, at 08:24, Martin Koller  wrote:
> 
> Hi,
> 
> in Qt6 the QDesktopWidget is gone, which I used in
> 
>QWidget *desktop = QApplication::desktop();
>QPixmap pm = QGuiApplication::screenAt(event->globalPos())->
> grabWindow(desktop->winId(), event->globalPos().x(), 
> event->globalPos().y(), 1, 1);
> 
> How do I get the desktop window id in Qt6 ?


You don’t need one, pass 0 for the WId into QScreen::grabWindow; it’s the 
default in Qt 6. Coordinates are then relative to your virtual desktop (or to 
the screen that you call grabWindow on if you don’t have a virtual desktop 
setup).

Volker

___
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development


Re: [Development] how to get WinId of desktop in Qt6 without QDesktopWidget ?

2020-10-07 Thread Martin Koller
On Mittwoch, 7. Oktober 2020 08:24:40 CEST Martin Koller wrote:
> Hi,
> 
> in Qt6 the QDesktopWidget is gone, which I used in
> 
> QWidget *desktop = QApplication::desktop();
> QPixmap pm = QGuiApplication::screenAt(event->globalPos())->
>  grabWindow(desktop->winId(), event->globalPos().x(), 
> event->globalPos().y(), 1, 1);
> 
> How do I get the desktop window id in Qt6 ?
> 
> 

I already found out: There is still the QApplication::desktop() method, which 
returns a QWidget
I was just confused by the fact that the compiler failed due to the 
QDesktopWidget include file
being no longer there.

-- 
Best regards/Schöne Grüße

Martin
A: Because it breaks the logical sequence of discussion
Q: Why is top posting bad?

()  ascii ribbon campaign - against html e-mail 
/\- against proprietary attachments

Frühstück, Geschenkideen, Accessoires, Kulinarisches: www.lillehus.at


___
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development


[Development] how to get WinId of desktop in Qt6 without QDesktopWidget ?

2020-10-07 Thread Martin Koller
Hi,

in Qt6 the QDesktopWidget is gone, which I used in

QWidget *desktop = QApplication::desktop();
QPixmap pm = QGuiApplication::screenAt(event->globalPos())->
 grabWindow(desktop->winId(), event->globalPos().x(), 
event->globalPos().y(), 1, 1);

How do I get the desktop window id in Qt6 ?

-- 
Best regards/Schöne Grüße

Martin
A: Because it breaks the logical sequence of discussion
Q: Why is top posting bad?

()  ascii ribbon campaign - against html e-mail 
/\- against proprietary attachments

Frühstück, Geschenkideen, Accessoires, Kulinarisches: www.lillehus.at



___
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development