Re: [Interest] building Qt 4.8.7 with gcc 5 and link-time optimisation on Linux

2015-07-23 Thread René J . V . Bertin
Thiago Macieira wrote:

 You'll need to test with upstream Clang 3.7 and 3.8 to verify whether the
 issue is fixed. Apple's random point in the release cycle plus random set of
 patches Clang is not a good testbed for reporting compiler failures.

I'd agree with you if it weren't so damn difficult to get Qt to build with 
something else but Apple's compilers; xcrun is queried at several levels to 
know 
what command to use.

 
 I will not take a patch that disables CRC32 due to a compiler bug in an
 unsupported configuration (LTO), especially if it's already fixed in the
 latest version.

But what about the fact that that those intrinsics are still used even when 
configure is called with -no-sse4.1 and -no-sse4.2?

R.

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] building Qt 4.8.7 with gcc 5 and link-time optimisation on Linux

2015-07-23 Thread Thiago Macieira
On Thursday 23 July 2015 23:03:25 René J. V. Bertin wrote:
  I will not take a patch that disables CRC32 due to a compiler bug in an
  unsupported configuration (LTO), especially if it's already fixed in the
  latest version.
 
 But what about the fact that that those intrinsics are still used even when 
 configure is called with -no-sse4.1 and -no-sse4.2?

That shouldn't happen. QT_COMPILER_SUPPORTS_SSE4_2 should not be defined, so 
this wouldn't evaluate to true:

#if QT_COMPILER_SUPPORTS_HERE(SSE4_2)
static inline bool hasFastCrc32()
{
return qCpuHasFeature(SSE4_2);
}

[...]

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] [SOLVED] Text rendering problem.

2015-07-23 Thread william.croc...@analog.com


 I have this working with DirectWrite on Windows,
 but it only appears to work when my app is built with debug mode.
 If I build it in release mode then it does *not* work
 and the text appears badly kerned.


This was all my fault.
(D'oh My release build was not using the intended dlls.)

The original problem: Small point size text looked bad
when rendered on Windows. It looked bad because the individual
characters were not kerned well. Some chars were too close
together and some were too far apart and all in the same word.

This was fixed by using a version of Qt (4.8.6 in my case)
which was built with the -directwrite option.

Bill

--
I built Qt on windows like this.
My command window was opened from Visual Studio 2008
(Pull down tools to VisualStudio2008CommandPrompt)

set INCLUDE=%INCLUDE%C:\Program Files\Microsoft SDKs\Windows\v7.0\Include;

set PATH=%PATH%;C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin;

cd 4.8.6

..\qt-everywhere-enterprise-src-4.8.6\configure -directwrite -no-declarative 
-no-qt3support -no-webkit -nomake demos -nomake examples -nomake docs -nomake 
translations

nmake



___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Need argumentative help..... giving qobject copy/assignment constructor and put it in qlist/qmap

2015-07-23 Thread Sze Howe Koh
On 24 July 2015 at 01:28, Thiago Macieira thiago.macie...@intel.com wrote:
 On Thursday 23 July 2015 16:05:44 Guido Seifert wrote:
  Op 23-7-2015 om 08:42 schreef Thiago Macieira:
   Q_GADGET has existed since 4.0.
 
  Sure, but it was undocumented API.

 Not quite. It was badly documented API. I think it was mentioned in the 4.8
 docs in the Q_OBJECT section.

Well, I'll be! Never noticed that.


 What's new in 5.5 is the ability to register gadgets in QML.

So Guido, would your problem be resolved by converting your
QObject-in-a-container to a Q_GADGET-in-a-container?


Regards,
Sze-Howe
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Strange font issue on iOS 9

2015-07-23 Thread Juhani Matilainen
Ok, thanks for info. I filled the bug report: 
https://bugreports.qt.io/browse/QTBUG-47399

Juhani

 Mike Krus mike.k...@kdab.com kirjoitti 23.7.2015 kello 13.48:
 
 
 
 On 23/07/2015 11:26, Juhani Matilainen wrote:
 Hmmm... Interesting, it seems that random texts are displayed in wrong
 characters. If I kill app and restart some text are now ok but still
 some others are mess. And the problem is even editable texts in TextEdit
 field (also when to type new texts).
 there was a similar issue when iOS 7 came out, again with the Quick 
 Controls. They do something different with textures for fonts.
 Have you filed a bug report?
 
 
 Mike
 
 -- 
 Mike Krus | mike.k...@kdab.com | Senior Software Engineer
 KDAB (UK) Ltd., a KDAB Group company
 Tel: UK +44-1625-809908
 KDAB - The Qt Experts
 ___
 Interest mailing list
 Interest@qt-project.org
 http://lists.qt-project.org/mailman/listinfo/interest
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] QMainWindow state resetting

2015-07-23 Thread Berkay Elbir
Hi,

Thanks for your answer. I thought like that and implemented it. But after
restoring default state, mainwindow turns small size and I have to click
fullscreen button to be a fullscreen window.
I think I have to do something to be a fullscreeen windows again after
restoring state.



On Thu, Jul 23, 2015 at 1:15 PM, Bo Thorsen b...@vikingsoft.eu wrote:

 Den 23-07-2015 kl. 07:51 skrev Berkay Elbir:
  I'm searching is there a way to reset to default state of QMainWindow at
  runtime?
  I have a QMainWindow that has some widgets, user can customize their
  locations and save them.
  But I want to put a button that resets window states and reverts back to
  default mode at runtime like
  reset window layout option in visual studio.
 
  Anybody did this before?

 Hi BE,

 There is no reset() method on QMainWindow.

 However, there might be a way to do it anyway. I haven't tried this, but
 it's what I would do for the first attempt if I had to implement it.

 On startup store the state of the window at the point where you to
 restore it to. You use saveState() and saveGeometry() for this. When
 you want to reset it, call restoreState() and restoreGeometry().

 You can see examples of this in the QMainWindow documentation. The
 examples store the values in QSettings because this is almost always
 used to restore the window the next time the user starts the
 applicaiton. But it should be simple for you to adjust this to your
 problem.

 I hope this helps.

 Bo Thorsen,
 Director, Viking Software.

 --
 Viking Software
 Qt and C++ developers for hire
 http://www.vikingsoft.eu
 ___
 Interest mailing list
 Interest@qt-project.org
 http://lists.qt-project.org/mailman/listinfo/interest

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Text rendering problem.

2015-07-23 Thread william.croc...@analog.com
On 07/21/2015 01:31 PM, william.croc...@analog.com wrote:
 On 07/18/2015 08:02 PM, william.croc...@analog.com wrote:


 I am having a text rendering problem.

 What you can do in your example is

scene_font.setHintingPreference(QFont::PreferNoHinting);


 It appears that one needs to use the DirectWrite text rendering
 system on Windows.


I have this working with DirectWrite on Windows,
but it only appears to work when my app is built with debug mode.
If I build it in release mode then it does *not* work
and the text appears badly kerned.

In debug mode I see Visual Studio loading DWrite.dll
I do not see that when built and run in release mode.

I tried copying DWrite.dll to the Qt.../bin dir (where
the app finds all of the Qt DLLs) but that did not help.

In all cases I have the font hinting preference
set to QFont::PreferNoHinting and a scan of the Qt source
shows that as the condition under which direct write is used.

Bill

When I say it does not work, I mean that
text is badly kerned at the smaller point sizes.
I can see this by zooming in on a QGraphicsScene
with text items.


 I forgot the most import rule of software engineering in the 21st century:

 No matter how obscure the problem, you are not the first to encounter it.
  Others have come before you, solved the problem and those solutions are
  there for all to see if you Google the right subject.

 Bill

 Bill

 -
 int
 main( int argc, char **argv ) {
  QApplication app(argc,argv);

  int sz = 6, scale = 10;
  QString text = QString(Impedance);

  // Text size is 60.
  // This text renders well.
  QFont label_font = QFont(Arial,scale*sz,QFont::Bold);
  QLabel *label = new QLabel(text);
  label-setFont(label_font);

  // Text size is 6, then the view is zoomed in x10.
  // This text is not properly kerned.
  QFont scene_font = QFont(Arial,sz,QFont::Bold);
  QTextDocument *html = new QTextDocument;
  html-setDefaultFont(scene_font);
  html-setHtml(text);
  QGraphicsTextItem *gi = new QGraphicsTextItem;
  gi-setDocument(html);
  QGraphicsScene *sp = new QGraphicsScene;
  sp-addItem(gi);
  QGraphicsView *view = new QGraphicsView;
  view-setScene(sp);
  view-scale(scale,scale);

  QHBoxLayout *hbox = new QHBoxLayout;
  hbox-addWidget(label);
  hbox-addWidget(view);

  QWidget *wp = new QWidget;
  wp-setLayout(hbox);
  wp-show();

  app.exec();
 }
 ___
 Interest mailing list
 Interest@qt-project.org
 http://lists.qt-project.org/mailman/listinfo/interest
 ___
 Interest mailing list
 Interest@qt-project.org
 http://lists.qt-project.org/mailman/listinfo/interest


 ___
 Interest mailing list
 Interest@qt-project.org
 http://lists.qt-project.org/mailman/listinfo/interest


 ___
 Interest mailing list
 Interest@qt-project.org
 http://lists.qt-project.org/mailman/listinfo/interest


___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] building Qt [4.8.7 with gcc 5] and link-time optimisation

2015-07-23 Thread René J . V . Bertin
Concerning my test Qt5 build with LTO:

How well supported/tested is doing that in out-of-source shadow build? After 
using -march=core2 instead of -march=native (and thus avoiding the use of SSE4 
instructions), I'm running into another issue when I execute qmake -config ltcg 
immediately after running configure:

qt-everywhere-opensource-src-5.4.2/qtbase/src/network/access/qftp.cpp:42:10: 
fatal error: 
  'qcoreapplication.h' file not found
#include qcoreapplication.h
 ^
1 error generated.


I have a hunch this may be related to the fact that I'm running configure and 
build in a virgin build directory but with Qt5 already installed as configured 
(i.e. I'm rebuilding with ltcg).
I do not get that error when I do NOT execute qmake -config ltcg after 
configure, and also do not get it when I first build without ltcg and then call 
qmake -r config ltcg in the finished build directory. I'm using bin/qmake 
from 
the build directory itself, btw.

I'll be testing later if there's any difference when I edit the makefile 
generated by configure, so that it calls $(QMAKE) -config ltcg instead of 
simply 
$(QMAKE).

R.

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Strange font issue on iOS 9

2015-07-23 Thread Ben Lau
I have got the same problem. Upvoted for your issue.


On 23 July 2015 at 19:28, Juhani Matilainen juh...@theocbase.net wrote:

 Ok, thanks for info. I filled the bug report:
 https://bugreports.qt.io/browse/QTBUG-47399

 Juhani

 Mike Krus mike.k...@kdab.com kirjoitti 23.7.2015 kello 13.48:



 On 23/07/2015 11:26, Juhani Matilainen wrote:

 Hmmm... Interesting, it seems that random texts are displayed in wrong

 characters. If I kill app and restart some text are now ok but still

 some others are mess. And the problem is even editable texts in TextEdit

 field (also when to type new texts).

 there was a similar issue when iOS 7 came out, again with the Quick
 Controls. They do something different with textures for fonts.
 Have you filed a bug report?


 Mike

 --
 Mike Krus | mike.k...@kdab.com | Senior Software Engineer
 KDAB (UK) Ltd., a KDAB Group company
 Tel: UK +44-1625-809908
 KDAB - The Qt Experts
 ___
 Interest mailing list
 Interest@qt-project.org
 http://lists.qt-project.org/mailman/listinfo/interest


 ___
 Interest mailing list
 Interest@qt-project.org
 http://lists.qt-project.org/mailman/listinfo/interest


___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


[Interest] https://login.qt.io/login down?

2015-07-23 Thread Rainer Wiesenfarth
Is the qt.io site - at least the support pages etc. - down or do I have a
problem at my side of the tube?

Best Regards / Mit freundlichen Grüßen
Rainer Wiesenfarth

-- 
Software Engineer | Trimble Geospatial
Rotebühlstraße 81 | 70178 Stuttgart | Germany
Office +49 711 22881 0 | Fax +49 711 22881 11
http://www.trimble.com/geospatial/ | http://www.inpho.de/

Trimble Germany GmbH, Am Prime Parc 11, 65479 Raunheim
Eingetragen beim Amtsgericht Darmstadt unter HRB 83893,
Geschäftsführer: Dr. Frank Heimberg, Hans-Jürgen Gebauer




smime.p7s
Description: S/MIME cryptographic signature
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] [SOLVED] Re: https://login.qt.io/login down?

2015-07-23 Thread Anttila Janne
On 23/07/15 16:32, 
From: Rainer Wiesenfarth
 Is the qt.io site - at least the support pages etc. - down or do I have
a
 problem at my side of the tube?

As usual: As soon as you click the Send button for the e-mail, the
problem
vanishes...

Best Regards / Mit freundlichen Grüßen
Rainer Wiesenfarth

Allmost all qt.io services were down for a few minutes due to problem in
our
hosting infra. All services should be now up again, if not please let us
know.

—
Janne

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] building Qt 4.8.7 with gcc 5 and link-time optimisation on Linux

2015-07-23 Thread René J . V . Bertin
Thiago Macieira wrote:

 But what about the fact that that those intrinsics are still used even when
 configure is called with -no-sse4.1 and -no-sse4.2?
 
 That shouldn't happen. QT_COMPILER_SUPPORTS_SSE4_2 should not be defined, so
 this wouldn't evaluate to true:
 
 #if QT_COMPILER_SUPPORTS_HERE(SSE4_2)

That's what I figured and that's why I tried the options. I'll see if I can 
reproduce the issue and report back.

R.

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] building Qt [4.8.7 with gcc 5] and link-time optimisation

2015-07-23 Thread Thiago Macieira
On Thursday 23 July 2015 20:21:08 René J. V. Bertin wrote:
  configure should generate exactly one Makefile: the top-level.
 
 I think that's what it does, but calling qmake -config ltcg immediately
 after  configure doesn't appear to have any effect.

It should have added -config ltcg to the command it will run when it creates 
src/Makefile. In turn, that will pass -config ltcg when creating 
src/corelib/Makefile.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] building Qt 4.8.7 with gcc 5 and link-time optimisation on Linux

2015-07-23 Thread Thiago Macieira
On Thursday 23 July 2015 20:35:48 René J. V. Bertin wrote:
 Thiago Macieira wrote:
  So this is a compiler bug.
  
  Sorry, please try GCC.
 
 On OS X?!

If you want the feature, either switch compilers or fix the bug in this 
compiler. The only other option is to stop using the feature.

You'll need to test with upstream Clang 3.7 and 3.8 to verify whether the 
issue is fixed. Apple's random point in the release cycle plus random set of 
patches Clang is not a good testbed for reporting compiler failures.

I will not take a patch that disables CRC32 due to a compiler bug in an 
unsupported configuration (LTO), especially if it's already fixed in the latest 
version. 

And I will be adding more of those.
-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


[Interest] moc code : incomplete type 'void' is not assignable

2015-07-23 Thread Jason H
I'm getting an error in moc-generated file, and I don't know why. 

error: incomplete type 'void' is not assignable
case 1: *reinterpret_cast void*(_v) = _t-camera(); break;
~ ^

The header file contains:
#include QObject
#include QCamera
class FlashControl : public QObject
{
Q_OBJECT
QCamera *_camera;
public:
...
Q_PROPERTY(void setCamera READ camera WRITE setCamera)

public slots:
...
void setCamera(QObject *qmlCamera);
QObject* camera();


};

Does anyone have any ... pointers? (Sorry for the pun!)
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Need argumentative help..... giving qobject copy/assignment constructor and put it in qlist/qmap

2015-07-23 Thread Guido Seifert


 Op 23-7-2015 om 08:42 schreef Thiago Macieira:
  Q_GADGET has existed since 4.0. 
 Sure, but it was undocumented API.

Not quite. It was badly documented API. I think it was mentioned in the 4.8 
docs in the Q_OBJECT section.

Guido
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] moc code : incomplete type 'void' is not assignable [FIXED]

2015-07-23 Thread Jason H
Sorry, I got bit by copy-paste. It should be:

Q_PROPERTY(QCamera* setCamera READ camera WRITE setCamera)


 Sent: Thursday, July 23, 2015 at 10:56 AM
 From: Jason H jh...@gmx.com
 To: interest interest@qt-project.org
 Subject: [Interest] moc code : incomplete type 'void' is not assignable

 I'm getting an error in moc-generated file, and I don't know why. 
 
 error: incomplete type 'void' is not assignable
 case 1: *reinterpret_cast void*(_v) = _t-camera(); break;
 ~ ^
 
 The header file contains:
 #include QObject
 #include QCamera
 class FlashControl : public QObject
 {
   Q_OBJECT
   QCamera *_camera;
 public:
 ...
   Q_PROPERTY(void setCamera READ camera WRITE setCamera)
 
 public slots:
 ...
   void setCamera(QObject *qmlCamera);
   QObject* camera();
 
 
 };
 
 Does anyone have any ... pointers? (Sorry for the pun!)
 ___
 Interest mailing list
 Interest@qt-project.org
 http://lists.qt-project.org/mailman/listinfo/interest
 
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] moc code : incomplete type 'void' is not assignable

2015-07-23 Thread Samuel Gaist
On 23 juil. 2015, at 16:56, Jason H jh...@gmx.com wrote:

 I'm getting an error in moc-generated file, and I don't know why. 
 
 error: incomplete type 'void' is not assignable
case 1: *reinterpret_cast void*(_v) = _t-camera(); break;
~ ^
 
 The header file contains:
 #include QObject
 #include QCamera
 class FlashControl : public QObject
 {
   Q_OBJECT
   QCamera *_camera;
 public:
 ...
   Q_PROPERTY(void setCamera READ camera WRITE setCamera)
 
 public slots:
 ...
   void setCamera(QObject *qmlCamera);
   QObject* camera();
 
 
 };
 
 Does anyone have any ... pointers? (Sorry for the pun!)
 


Hi,

Shouldn't your property type be QObject * ?

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Need argumentative help..... giving qobject copy/assignment constructor and put it in qlist/qmap

2015-07-23 Thread Bo Thorsen
Den 23-07-2015 kl. 07:57 skrev Gunnar Roth:

 Am 23.07.2015 um 07:51 schrieb Bo Thorsen b...@vikingsoft.eu
 mailto:b...@vikingsoft.eu:

 Den 23-07-2015 kl. 00:07 skrev Thiago Macieira:
 Disabling C4244 /* conversion from 'type1' to 'type2', possible loss
 of data
 */ is more than going to far. It is kind of sabotage imho.
 Note that this does not apply to 64-bit to 32-bit conversions. Those
 are still
 active, so C4244 does not seem to apply to them. I don't know what it
 applies
 to.

 I think this one warns on float f = 2.0;.

 In this particular instance, it's pretty dumb. 2.0 is perfectly fine
 inside a float. But it just warns every time you store a double in a
 float without trying to be clever about when you should receive the
 warning.

 I think, reading documentation is better than thinking ;-)

 https://msdn.microsoft.com/en-us/library/2d7604yb.aspx

I know, but Thiago said he hadn't seen it actually do any warnings. And 
I agree with him that I haven't seen it warn about integer types.

In one of my customer projects I ported their project to Windows and got 
thousands of the double to float warnings, which is why I mentioned that 
it certainly does do something.

Bo Thorsen,
Director, Viking Software.

-- 
Viking Software
Qt and C++ developers for hire
http://www.vikingsoft.eu
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


[Interest] [SOLVED] Re: https://login.qt.io/login down?

2015-07-23 Thread Rainer Wiesenfarth
From: Rainer Wiesenfarth
 Is the qt.io site - at least the support pages etc. - down or do I have a
 problem at my side of the tube?

As usual: As soon as you click the Send button for the e-mail, the problem
vanishes...

Best Regards / Mit freundlichen Grüßen
Rainer Wiesenfarth

-- 
Software Engineer | Trimble Geospatial
Rotebühlstraße 81 | 70178 Stuttgart | Germany
Office +49 711 22881 0 | Fax +49 711 22881 11
http://www.trimble.com/geospatial/ | http://www.inpho.de/

Trimble Germany GmbH, Am Prime Parc 11, 65479 Raunheim
Eingetragen beim Amtsgericht Darmstadt unter HRB 83893,
Geschäftsführer: Dr. Frank Heimberg, Hans-Jürgen Gebauer 



smime.p7s
Description: S/MIME cryptographic signature
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Need argumentative help..... giving qobject copy/assignment constructor and put it in qlist/qmap

2015-07-23 Thread Thiago Macieira
On Thursday 23 July 2015 09:21:13 Jérôme Godbout wrote:
 I admit the int to unsigned
 int is also a problem to become, -1 lead to 2^32 - 1, we can only do that
 if you known negative number aren't used and should do a static_cast
 or reinterpret_cast according to the situation and handle the conversion
 properly.

I've fixed most uses of -1 on unsigned types, as ICC complains about that too. 
The fix is simple: write ~0 instead of -1.
-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Need argumentative help..... giving qobject copy/assignment constructor and put it in qlist/qmap

2015-07-23 Thread Thiago Macieira
On Thursday 23 July 2015 09:40:14 Samuel Stirtzel wrote:
 2015-07-22 22:52 GMT+02:00 Thiago Macieira thiago.macie...@intel.com:
  And then there's another trick... we also began using -isystem with GCC
  and
  Clang, so they don't complain about warnings in Qt itself :-)
 
 Hi,
 
 is there a trick for qmake to include the Qt headers with -isystem by
 default, or do you use include_directories(SYSTEM ...) from CMake?

We use -isystem when you install Qt to the default search directories by GCC. 
That's the common case for Linux distributions.

If you install Qt elsewhere -- including the binaries you get from the Qt SDK 
installer -- you won't get -isystem.

 The related bug: https://bugreports.qt.io/browse/QTBUG-7220 is still
 unresolved after more than 5 years.

Closed now, retroactively setting fix release to 5.4.0.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Need argumentative help..... giving qobject copy/assignment constructor and put it in qlist/qmap

2015-07-23 Thread Thiago Macieira
On Thursday 23 July 2015 16:05:44 Guido Seifert wrote:
  Op 23-7-2015 om 08:42 schreef Thiago Macieira:
   Q_GADGET has existed since 4.0.
  
  Sure, but it was undocumented API.
 
 Not quite. It was badly documented API. I think it was mentioned in the 4.8
 docs in the Q_OBJECT section.

What's new in 5.5 is the ability to register gadgets in QML.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Need argumentative help..... giving qobject copy/assignment constructor and put it in qlist/qmap

2015-07-23 Thread Jérôme Godbout
it should be float f = 2.0f; then. I understand the compiler should check
if value is in range and precision of a float before emitting a warning.
This mostly get annoying inside template function that can handle both
float and double, but putting a float inside a double is ok.

On Thu, Jul 23, 2015 at 1:51 AM, Bo Thorsen b...@vikingsoft.eu wrote:

 Den 23-07-2015 kl. 00:07 skrev Thiago Macieira:
  Disabling C4244 /* conversion from 'type1' to 'type2', possible loss of
 data
  */ is more than going to far. It is kind of sabotage imho.
  Note that this does not apply to 64-bit to 32-bit conversions. Those are
 still
  active, so C4244 does not seem to apply to them. I don't know what it
 applies
  to.

 I think this one warns on float f = 2.0;.

 In this particular instance, it's pretty dumb. 2.0 is perfectly fine
 inside a float. But it just warns every time you store a double in a
 float without trying to be clever about when you should receive the
 warning.

 Bo Thorsen,
 Director, Viking Software.

 --
 Viking Software
 Qt and C++ developers for hire
 http://www.vikingsoft.eu
 ___
 Interest mailing list
 Interest@qt-project.org
 http://lists.qt-project.org/mailman/listinfo/interest

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Need argumentative help..... giving qobject copy/assignment constructor and put it in qlist/qmap

2015-07-23 Thread Jérôme Godbout
C4244 is particulary true since Qt mostly use int for every size matter,
which on 64 bits system generate a lot of warnings when connecting to Qt. I
hope we see a size_t or equivalent some day. I admit the int to unsigned
int is also a problem to become, -1 lead to 2^32 - 1, we can only do that
if you known negative number aren't used and should do a static_cast
or reinterpret_cast according to the situation and handle the conversion
properly.

C4244 should not be suspended, it's a true problem if the system ever reach
limit condition on those value. If you ever had the chance to debug a
case where this happen, you known this warning have it's purpose.

On Thu, Jul 23, 2015 at 1:57 AM, Gunnar Roth gunnar.r...@gmx.de wrote:


 Am 23.07.2015 um 07:51 schrieb Bo Thorsen b...@vikingsoft.eu:

 Den 23-07-2015 kl. 00:07 skrev Thiago Macieira:

 Disabling C4244 /* conversion from 'type1' to 'type2', possible loss of
 data

 */ is more than going to far. It is kind of sabotage imho.

 Note that this does not apply to 64-bit to 32-bit conversions. Those are
 still
 active, so C4244 does not seem to apply to them. I don't know what it
 applies
 to.


 I think this one warns on float f = 2.0;.

 In this particular instance, it's pretty dumb. 2.0 is perfectly fine
 inside a float. But it just warns every time you store a double in a
 float without trying to be clever about when you should receive the
 warning.

 I think, reading documentation is better than thinking ;-)

 https://msdn.microsoft.com/en-us/library/2d7604yb.aspx

 Compiler Warning (level 2) C4244
 argument' : conversion from 'type1' to 'type2', possible loss of data

 A floating point type was converted to an integer type. A possible loss of
 data may have occurred.
 https://msdn.microsoft.com/en-us/library/th7a07tz.aspx
 Compiler Warning (levels 3 and 4) C4244
 'conversion' conversion from 'type1' to 'type2', possible loss of data

 An integer type is converted to a smaller integer type. This is a level-4
 warning if *type1* is int and *type2* is smaller than int. Otherwise, it
 is a level 3 (assigned a value of type __int64
 https://msdn.microsoft.com/en-us/library/29dh1w7z.aspx to a variable of
 type unsigned int). A possible loss of data may have occurred.
 Regards,
 Gunnar Roth



 ___
 Interest mailing list
 Interest@qt-project.org
 http://lists.qt-project.org/mailman/listinfo/interest


___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] building Qt [4.8.7 with gcc 5] and link-time optimisation

2015-07-23 Thread René J . V . Bertin
Thiago Macieira wrote:


 git clean -x -d -f in your sources.
 (you may want to back up your *.user files from Creator and restore)

That *was* a clean build; Qt 5.4.2 using the release tarball, freshly unpacked 
etc.

Patching the toplevel Makefile so that the QMAKE variable includes the -config 
ltcg arguments seems to work for me (I'm running these experiments from a 
MacPorts Portfile). Now to see if I cannot simply patch the configure script so 
it 
does the work for me. I'm a bit surprised that the configure script doesn't 
have 
such a feature yet, apparently.

 And actually, I'm now fooling around with a project that just builds qtbase
 (5.4.2), and it seems that I need -r even immediately after calling
 configure.
 
 configure should generate exactly one Makefile: the top-level.

I think that's what it does, but calling qmake -config ltcg immediately after 
configure doesn't appear to have any effect.

R

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] building Qt 4.8.7 with gcc 5 and link-time optimisation on Linux

2015-07-23 Thread René J . V . Bertin
Thiago Macieira wrote:

 So this is a compiler bug.
 
 Sorry, please try GCC.

On OS X?!

R

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Need argumentative help..... giving qobject copy/assignment constructor and put it in qlist/qmap

2015-07-23 Thread Jérôme Godbout
Nice! good to known, thanks Thiago

On Thu, Jul 23, 2015 at 1:23 PM, Thiago Macieira thiago.macie...@intel.com
wrote:

 On Thursday 23 July 2015 09:21:13 Jérôme Godbout wrote:
  I admit the int to unsigned
  int is also a problem to become, -1 lead to 2^32 - 1, we can only do that
  if you known negative number aren't used and should do a static_cast
  or reinterpret_cast according to the situation and handle the conversion
  properly.

 I've fixed most uses of -1 on unsigned types, as ICC complains about that
 too.
 The fix is simple: write ~0 instead of -1.
 --
 Thiago Macieira - thiago.macieira (AT) intel.com
   Software Architect - Intel Open Source Technology Center

 ___
 Interest mailing list
 Interest@qt-project.org
 http://lists.qt-project.org/mailman/listinfo/interest

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] building Qt 4.8.7 with gcc 5 and link-time optimisation on Linux

2015-07-23 Thread Thiago Macieira
On Thursday 23 July 2015 10:31:01 René J. V. Bertin wrote:
 And actually, I'm now fooling around with a project that just builds qtbase
 (5.4.2), and it seems that I need -r even immediately after calling
 configure.

configure should generate exactly one Makefile: the top-level.

  That's also why Qt 4's configure had the -fast option. Which wasn't the
  default. I don't know why anyone would intentionally choose a slow build
  with no further benefits...
 
 ? If -fast just let configure skip the recursive qmake call, what difference
 did it really make? In the end you'd be doing all those qmake calls
 anyway...

Actually, there are three solutions:
1) use qmake to generate the Makefiles
2) generate a stub Makefile that calls qmake on first run
3) generate only the top-level Makefile

#1 was the default in Qt 2, 3, and 4. #2 was Qt 4's -fast option. Qt 5 
switched to #3.

And you're perceptive... in certain situations, -fast is slower than the 
regular slow build!

 But in that register: why is qmake itself not built in parallel? I've been
 patching the configure script to fix that, and it works fine.

export MAKEFLAGS=-jN

Boom! Now it is! Supported since 2001.

  The compilation itself is faster because there's no code generation for
  GCC
  (due to -fno-fat-lto-objects). I don't remember whether Clang -flto
  produces
 Hmm, I forced fat lto objects in the Qt 4.8.7 build on Linux, just to be
 sure (I don't want to end up with binaries that force me to use LTO for
 everything all the time).

Again a feature of ltcg.prf: it turns fat binaries back on for static 
libraries.

For dynamic libraries, there are no ill effects.

  LLVM and code or just LLVM bytecode. I know ICC doesn't, but for me it
  takes 30 minutes to link QtCore and an infinite amount of time for QtGui
  (it gets OOM-killed due to swap exhaustion before it finishes).
 
 With Qt 5 and ICC? 

Actually, ever since 4.7, which is when Intel first gave me a licence to use 
ICC 11. I've never been able to do an IPO build of QtGui -- I've never had 
enough RAM for it.

  Unless you're me, you don't want to do this.
 
 Do I have any reason to be you? :)

Yes. That's when you disassemble the generated code to check if it is optimal. 
Reading the assembly in a .o is faster and easier than waiting for the full 
link.

  I only have evidence for other projects, where LTO did have noticeable
  runtime performance effect.
 
 I certainly hope this is going to pay off on my slow(er) machines, as well
 as during periods of high CPU loads. Any reduction in GUI (and middleware)
 overhead is a gain, IMHO, esp. if it can be obtained with build options.

I watched Jon Kalb's session this week at the PDXCPP meeting and he mentioned 
large, modern datacentres report the largest costs are:

* hardware
* power distribution
* cooling
* power

So even if you make software only 1% faster, there's still a gain because you 
consumed 1% less power (actually, I think he said that gives you a 0.91% power 
reduction).

 BTW: OS X's -mdynamic-no-pic option used to give me an approx. 15% gain,
 which I think is impressive for a single option that doesn't even increase
 compile time (and I was equally impressed with the Shark tool that pointed
 out to me that I should be using it). That was on a 32bit PPC machine; I
 haven't clocked its impact on Intel architecture.
 In 64bit mode it can be used systematically, even for shared libraries. Does
 Qt use it?

I've never heard of it. I'll investigate.

I've been tracking GCC 6's -fno-plt option, which also shows great promise.

  better able to eliminate dead code. That's often the result of the
  -fwhole-
  program part of -flto.
 
 GCC's documentation (man page) isn't really clear on -fwhole-program and
 when it applies or should be used. Apparently I should understand that the
 linker plugin knows when to apply it?

-flto activates -fwhole-program when linking a binary. You shouldn't worry 
about it.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] segmentation fault at graphics_system_name.isEmpty()

2015-07-23 Thread Thiago Macieira
On Thursday 23 July 2015 10:02:03 manju goudar wrote:
 Hi all,
 
 My Target is SPARC little-endian and Linux 3.4.

SPARC can run on little-endian mode? Wow, I didn't know that!

 I have ported Qt 4.8.6 to sparc linux.as per my knowledge Sparc and Linux
 support is not available in qws folder.

Why are you bothering with Qt 4.8? Shouldn't you start with 5.5?

 ./analogclock -qws -display VNC:0
 
 analogclock[120]: segfault at 8 ip 5019b06c (rpc f000eff0) sp ef82cae8
 error 30001 in libQtGui.so.4.8.6[50017000+10cb000]
 Segmentation fault
 
 I am getting segmentation fault when graphics_system_name.isEmpty(); in
 src/gui/kernel/qapplication.cpp file is invoked.
 
 After debugging I found that global QString
 QApplicationPrivate::graphics_system_name; object is created successfully
 with valid address 0x5143a400.
 However I could not access any QString member functions such as
 (graphics_system_name.data(), graphics_system_name.size().)

Please give us a full gdb backtrace of the crash.

I'd also like you to do in gdb after it crashes:
print *QApplicationPrivate::graphics_system_name.d

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] building Qt [4.8.7 with gcc 5] and link-time optimisation

2015-07-23 Thread Thiago Macieira
On Thursday 23 July 2015 13:36:05 René J. V. Bertin wrote:
 Concerning my test Qt5 build with LTO:
 
 How well supported/tested is doing that in out-of-source shadow build?

It's the only build I do.

 After using -march=core2 instead of -march=native (and thus avoiding the
 use of SSE4 instructions), I'm running into another issue when I execute
 qmake -config ltcg immediately after running configure:
 
 qt-everywhere-opensource-src-5.4.2/qtbase/src/network/access/qftp.cpp:42:10:
 fatal error:
   'qcoreapplication.h' file not found
 #include qcoreapplication.h
  ^
 1 error generated.

git clean -x -d -f in your sources.
(you may want to back up your *.user files from Creator and restore)

Out of sources only work if the source is perfectly clean. Artifacts in the 
source will unpredictably affect the out-of-source build.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] building Qt 4.8.7 with gcc 5 and link-time optimisation on Linux

2015-07-23 Thread Thiago Macieira
On Thursday 23 July 2015 11:01:58 René J.V. Bertin wrote:
 Thiago Macieira wrote:
  That's qhash.cpp (the only place where we use _mm_crc32_xxx()).
  
  This sounds like qhash.cpp was compiled with -march=native but *linked*
  without. Can you confirm that you see the compiler options passed on the
  linker command-line (-O2 -march=native, etc.)?
 
 Well, even if you were right, something else appears to be going on.
 Wouldn't it be simply the same issue that makes it impossible to build
 QtScript and QtWebkit with LTO, the use of inline assembly? 

No, because that's a different solution. There's no inline assembly in 
qhash.cpp, only a call to the _mm_crc32_xxx intrinsics. And even if there were 
assembly, it would differ in nature to what ctiVMTrampoline does.

 That's very likely what the _mm_ intrinsics macros contain. 

a) they're not macros, they're functions
b) they're intrinsics, not assembly.

GCC's:
extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, 
__artificial__))
_mm_crc32_u32 (unsigned int __C, unsigned int __V)
{
  return __builtin_ia32_crc32si (__C, __V);
}

The function __builtin_ia32_crc32si is not defined anywhere. The compiler 
interprets it and replaces it with the proper assembly.

 OTOH, if you use them for
 SSE 4 too that cannot be the whole explanation.

The use is runtime-checked:

   if (hasFastCrc32())
return crc32(p, size_t(len), h);

Note that runtime detection is only supported with MSVC, ICC and GCC 4.9. 
Older versions of GCC or other compilers will make a decision at compile time: 
always use CRC32 or never use CRC32.

I have a patch to enable the runtime detection for Clang 3.7, but I haven't 
done enough testing yet.

 /usr/bin/clang++ -c -O3 -march=native -g -ffunction-sections
 :-fPIC -isysroot
 :/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Devel
 :oper/SDKs/MacOSX10.10.sdk -std=c++11 -stdlib=libc++
 :-mmacosx-version-min=10.7 -fno-exceptions -Wall -W -DQT_NO_MTDEV

This is Clang, so the decision is compile-time. That -march=native tells Clang 
to enable it if your computer supports it. Assuming you have a non-ancient 
Mac, it should get enabled.

 :/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolc
 :hain/usr/bin/ar cq libQt5Bootstrap.a .obj/qstring_mac.o

Creation of a static library. That means the binary linking against this 
library needs to get the -march=native option from above.

 :/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolc
 :hain/usr/bin/clang++ -L/opt/local/lib -Wl,-headerpad_max_install_names -O3
 :-march=native -g
 :-Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOS
 :X.platform/Developer/SDKs/MacOSX10.9.sdk -stdlib=libc++
 :-mmacosx-version-min=10.7 -D_REENTRANT -I/opt/local/include/glib-2.0
 :-I/opt/local/lib/glib-2.0/include -I/opt/local/include -isysroot
 :/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Devel
 :oper/SDKs/MacOSX10.9.sdk -std=c++11 -fvisibility=hidden
 :-fvisibility-inlines-hidden -flto -single_module -dynamiclib -fPIC
 :-compatibility_version   5.4 -current_version5.4.2
 :-install_name
 /opt/local/libexec/qt5/Library/Frameworks/QtCore.framework/V
 :ersions/5/QtCore -o QtCore .obj/qlocale_mac.o .obj/qtimezoneprivate_mac.o

This is the linking of QtCore, not of moc or rcc. But either way, note how -
march=native is present here.

So this is a compiler bug.

Sorry, please try GCC.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Need argumentative help..... giving qobject copy/assignment constructor and put it in qlist/qmap

2015-07-23 Thread Thiago Macieira
On Thursday 23 July 2015 08:00:20 Sze Howe Koh wrote:
 On 23 July 2015 at 01:03, Guido Seifert warg...@gmx.de wrote:
  - the QObject's connections? Will all copies emit the same signals, will
  all copies have their slots called? 
  Worked somehow... probably through magic.
  
  This was my problem. It really looked like we could get away with it. The
  whole class did not really need to be a QObject. It was only a QObject
  because it was used from QML. The whole design was questionable.
 Qt 5.5 introduced Q_GADGET for this purpose. What's more, you can
 safely store a Q_GADGET inside a container.

Q_GADGET has existed since 4.0.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Need argumentative help..... giving qobject copy/assignment constructor and put it in qlist/qmap

2015-07-23 Thread Thiago Macieira
On Thursday 23 July 2015 08:06:29 Bo Thorsen wrote:
 I know, but Thiago said he hadn't seen it actually do any warnings. And 
 I agree with him that I haven't seen it warn about integer types.

More to the point: I *have* seen warnings about integer conversions to smaller 
integers despite this particular warning being disabled. That indicates the 
integer conversion warning is a different one.
-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Need argumentative help..... giving qobject copy/assignment constructor and put it in qlist/qmap

2015-07-23 Thread André Somers
Op 23-7-2015 om 08:42 schreef Thiago Macieira:
 Q_GADGET has existed since 4.0. 
Sure, but it was undocumented API.

André
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Wired result trying to change the brightness of a QPixmap

2015-07-23 Thread hualet
Sorry, I didn’t intend to bother everyone, just forgot to fill the Subject 
line. I’m really sorry.
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] QMainWindow state resetting

2015-07-23 Thread Bo Thorsen
Den 23-07-2015 kl. 07:51 skrev Berkay Elbir:
 I'm searching is there a way to reset to default state of QMainWindow at
 runtime?
 I have a QMainWindow that has some widgets, user can customize their
 locations and save them.
 But I want to put a button that resets window states and reverts back to
 default mode at runtime like
 reset window layout option in visual studio.

 Anybody did this before?

Hi BE,

There is no reset() method on QMainWindow.

However, there might be a way to do it anyway. I haven't tried this, but 
it's what I would do for the first attempt if I had to implement it.

On startup store the state of the window at the point where you to 
restore it to. You use saveState() and saveGeometry() for this. When 
you want to reset it, call restoreState() and restoreGeometry().

You can see examples of this in the QMainWindow documentation. The 
examples store the values in QSettings because this is almost always 
used to restore the window the next time the user starts the 
applicaiton. But it should be simple for you to adjust this to your problem.

I hope this helps.

Bo Thorsen,
Director, Viking Software.

-- 
Viking Software
Qt and C++ developers for hire
http://www.vikingsoft.eu
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] building Qt 4.8.7 with gcc 5 and link-time optimisation on Linux

2015-07-23 Thread René J . V . Bertin
Thiago Macieira wrote:

 That won't work if you already have a build. The propagation only works if
 there are no subdirectory Makefiles yet.
 
 If you need to regenerate all the Makefiles, add -r (recursive):
 
 qmake -r -config ltcg $srcdir

Actually, I did, because without -r nothing happened.
And actually, I'm now fooling around with a project that just builds qtbase 
(5.4.2), and it seems that I need -r even immediately after calling configure.

 That's also why Qt 4's configure had the -fast option. Which wasn't the
 default. I don't know why anyone would intentionally choose a slow build with
 no further benefits...

? If -fast just let configure skip the recursive qmake call, what difference 
did 
it really make? In the end you'd be doing all those qmake calls anyway...

But in that register: why is qmake itself not built in parallel? I've been 
patching the configure script to fix that, and it works fine.

 That's qhash.cpp (the only place where we use _mm_crc32_xxx()).
 
 This sounds like qhash.cpp was compiled with -march=native but *linked*
 without. Can you confirm that you see the compiler options passed on the
 linker command-line (-O2 -march=native, etc.)?

Hmm, I'm checking that now, but it seems you're right (the packaging scripts I 
was using here apparently don't propagate those optimisation options set via 
the 
commandline to the linker flags).

 Note I have not successfully compiled with LTO with Clang for a while, because
 the linker plugin somehow doesn't get loaded or refuses to understand the LLVM
 bytestream. I only test GCC LTO.

My own experience with Clang LTO isn't exactly positive either. I thought I'd 
try the ltcg config after I read that it's supposed to take care of everything, 
which I may not have done properly myself. We'll see if and how the build I 
just 
launched completes.

 The compilation itself is faster because there's no code generation for GCC
 (due to -fno-fat-lto-objects). I don't remember whether Clang -flto produces

Hmm, I forced fat lto objects in the Qt 4.8.7 build on Linux, just to be sure 
(I 
don't want to end up with binaries that force me to use LTO for everything all 
the time).

 LLVM and code or just LLVM bytecode. I know ICC doesn't, but for me it takes
 30 minutes to link QtCore and an infinite amount of time for QtGui (it gets
 OOM-killed due to swap exhaustion before it finishes).

With Qt 5 and ICC? My linux netbook is now linking QtWebkit, and intermittently 
responsive because of that (but the process appears to be less than 1.5Gb which 
means I'm hardly using any swap at all).

 Unless you're me, you don't want to do this.

Do I have any reason to be you? :)

 I only have evidence for other projects, where LTO did have noticeable runtime
 performance effect.

I certainly hope this is going to pay off on my slow(er) machines, as well as 
during periods of high CPU loads. Any reduction in GUI (and middleware) 
overhead 
is a gain, IMHO, esp. if it can be obtained with build options.

BTW: OS X's -mdynamic-no-pic option used to give me an approx. 15% gain, which 
I 
think is impressive for a single option that doesn't even increase compile time 
(and I was equally impressed with the Shark tool that pointed out to me that I 
should be using it). That was on a 32bit PPC machine; I haven't clocked its 
impact on Intel architecture.
In 64bit mode it can be used systematically, even for shared libraries. Does Qt 
use it?

 better able to eliminate dead code. That's often the result of the -fwhole-
 program part of -flto.

GCC's documentation (man page) isn't really clear on -fwhole-program and when 
it 
applies or should be used. Apparently I should understand that the linker 
plugin 
knows when to apply it?

Thanks again,
R.

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


[Interest] Strange font issue on iOS 9

2015-07-23 Thread Juhani Matilainen
Hello

I have strange font problem on iOS 9. Messy fonts are displayed in some texts. 
Here is an example screenshot: 
https://www.dropbox.com/s/vl0vszob9fupn23/file%2020.7.2015%2015.49.24.png?dl=0

This is QML based app and no problem on iOS 8 or earlier. Any ideas how to fix?

I know that iOS 9 is still beta but many users have been updated to beta 
version. 

Thanks in advanced
Juhani___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


[Interest] Strange font issue on iOS 9

2015-07-23 Thread Juhani Matilainen
Hello

I have strange font problem on iOS 9. Messy fonts are displayed in some texts. 
Here is an example screenshot: 
https://www.dropbox.com/s/vl0vszob9fupn23/file%2020.7.2015%2015.49.24.png?dl=0

This is QML based app and no problem on iOS 8 or earlier. Any ideas how to fix?

I know that iOS 9 is still beta but many users have been updated to beta 
version. 

Thanks in advanced
Juhani___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Strange font issue on iOS 9

2015-07-23 Thread André Somers

Op 21-7-2015 om 06:41 schreef Juhani Matilainen:

Hello

I have strange font problem on iOS 9. Messy fonts are displayed in 
some texts. Here is an example screenshot:

https://www.dropbox.com/s/vl0vszob9fupn23/file%2020.7.2015%2015.49.24.png?dl=0

This is QML based app and no problem on iOS 8 or earlier. Any ideas 
how to fix?


I know that iOS 9 is still beta but many users have been updated to 
beta version.


Lucky for you those users can't leave reviews giving you one * 
anymore... :-)


André

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] building Qt 4.8.7 with gcc 5 and link-time optimisation on Linux

2015-07-23 Thread René J . V . Bertin
Thiago Macieira wrote:

 That's qhash.cpp (the only place where we use _mm_crc32_xxx()).
 
 This sounds like qhash.cpp was compiled with -march=native but *linked*
 without. Can you confirm that you see the compiler options passed on the
 linker command-line (-O2 -march=native, etc.)?

Well, even if you were right, something else appears to be going on. Wouldn't 
it be simply the same issue that makes it impossible to build QtScript and 
QtWebkit with LTO, the use of inline assembly? That's very likely what the _mm_ 
intrinsics macros contain. OTOH, if you use them for SSE 4 too that cannot be 
the whole explanation.

Here are all commands involving qhasp.cpp from my latest build log:

:info:build /usr/bin/clang++ -c -O3 -march=native -g -ffunction-sections -fPIC 
-isysroot 
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk
 -std=c++11 -stdlib=libc++ -mmacosx-version-min=10.7 -fno-exceptions -Wall -W 
-DQT_NO_MTDEV -DQT_NO_LIBUDEV -DQT_NO_EVDEV -DQT_BOOTSTRAPPED -DQT_LITE_UNICODE 
-DQT_NO_CAST_TO_ASCII -DQT_NO_CODECS -DQT_NO_DATASTREAM -DQT_NO_LIBRARY 
-DQT_NO_QOBJECT -DQT_NO_SYSTEMLOCALE -DQT_NO_THREAD -DQT_NO_UNICODETABLES 
-DQT_NO_USING_NAMESPACE -DQT_NO_DEPRECATED -DQT_NO_TRANSLATION 
-DQT_QMAKE_LOCATION=\/opt/local/var/macports/build/qt5-kde-x11/build/bin/qmake\
 -DQT_CRYPTOGRAPHICHASH_ONLY_SHA1 -DQT_NO_CAST_FROM_ASCII 
-DQT_BUILD_BOOTSTRAP_LIB -DQT_BUILDING_QT -DQT_ASCII_CAST_WARNINGS 
-DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS 
-DQT_DISABLE_DEPRECATED_BEFORE=0x05 -DQT_NO_EXCEPTIONS 
-D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG 
-I/opt/local/var/macports/build/qt5-kde-x11/qt-ev
 erywhere-opensource-src-5.4.2/qtbase/src/tools/bootstrap -I. 
-I/opt/local/var/macports/build/qt5-kde-x11/qt-everywhere-opensource-src-5.4.2/qtbase/include
 
-I/opt/local/var/macports/build/qt5-kde-x11/qt-everywhere-opensource-src-5.4.2/qtbase/include/QtCore
 
-I/opt/local/var/macports/build/qt5-kde-x11/qt-everywhere-opensource-src-5.4.2/qtbase/include/QtXml
 
-I/opt/local/var/macports/build/qt5-kde-x11/qt-everywhere-opensource-src-5.4.2/qtbase/include/QtCore/5.4.2
 
-I/opt/local/var/macports/build/qt5-kde-x11/qt-everywhere-opensource-src-5.4.2/qtbase/include/QtCore/5.4.2/QtCore
 
-I/opt/local/var/macports/build/qt5-kde-x11/qt-everywhere-opensource-src-5.4.2/qtbase/include/QtXml/5.4.2
 
-I/opt/local/var/macports/build/qt5-kde-x11/qt-everywhere-opensource-src-5.4.2/qtbase/include/QtXml/5.4.2/QtXml
 -I../../../include -I../../../include/QtCore 
-I/opt/local/var/macports/build/qt5-kde-x11/build/include/QtXml 
-I/opt/local/var/macports/build/qt5-kde-x11/qt-everywhere-opensource-src-5.4.2/qtbase
 /mkspecs/macx-clang -o .obj/qhash.o 
/opt/local/var/macports/build/qt5-kde-x11/qt-everywhere-opensource-src-5.4.2/qtbase/src/corelib/tools/qhash.cpp
[...]
:info:build 
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar
 cq libQt5Bootstrap.a .obj/qstring_mac.o .obj/qstandardpaths_mac.o 
.obj/qlatincodec.o .obj/qtextcodec.o .obj/qutfcodec.o .obj/qglobal.o 
.obj/qlogging.o .obj/qmalloc.o .obj/qnumeric.o .obj/qabstractfileengine.o 
.obj/qbuffer.o .obj/qdatastream.o .obj/qdebug.o .obj/qdir.o .obj/qdiriterator.o 
.obj/qfile.o .obj/qfileinfo.o .obj/qfilesystementry.o .obj/qfilesystemengine.o 
.obj/qfsfileengine.o .obj/qfsfileengine_iterator.o .obj/qiodevice.o 
.obj/qfiledevice.o .obj/qtemporaryfile.o .obj/qtextstream.o 
.obj/qstandardpaths.o .obj/qloggingcategory.o .obj/qloggingregistry.o 
.obj/qcoreapplication.o .obj/qcoreglobaldata.o .obj/qmetatype.o .obj/qvariant.o 
.obj/qsystemerror.o .obj/quuid.o .obj/qbitarray.o .obj/qbytearray.o 
.obj/qarraydata.o .obj/qbytearraymatcher.o .obj/qcommandlineparser.o 
.obj/qcommandlineoption.o .obj/qcryptographichash.o .obj/qdatetime.o 
.obj/qhash.o .obj/qlist.o .obj/qlink
 edlist.o .obj/qlocale.o .obj/qlocale_tools.o .obj/qmap.o .obj/qregexp.o 
.obj/qpoint.o .obj/qrect.o .obj/qsize.o .obj/qline.o .obj/qstring.o 
.obj/qstring_compat.o .obj/qstringlist.o .obj/qvector.o .obj/qvsnprintf.o 
.obj/qxmlutils.o .obj/qxmlstream.o .obj/qjson.o .obj/qjsondocument.o 
.obj/qjsonobject.o .obj/qjsonarray.o .obj/qjsonvalue.o .obj/qjsonparser.o 
.obj/qjsonwriter.o .obj/qdom.o .obj/qxml.o .obj/qfilesystemengine_unix.o 
.obj/qfilesystemiterator_unix.o .obj/qfsfileengine_unix.o 
.obj/qcoreapplication_mac.o .obj/qcore_mac.o
:info:build 
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib:
 file: libQt5Bootstrap.a(qvector.o) has no symbols
:info:build 
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib
 -s libQt5Bootstrap.a
:info:build 
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib:
 file: libQt5Bootstrap.a(qvector.o) has no symbols
:info:build rm -f ../../../lib/libQt5Bootstrap.a
:info:build mv -f libQt5Bootstrap.a ../../../lib/ 

(note how the bootstrap build uses the 

[Interest] segmentation fault at graphics_system_name.isEmpty()

2015-07-23 Thread manju goudar
Hi all,

My Target is SPARC little-endian and Linux 3.4.

I have ported Qt 4.8.6 to sparc linux.as per my knowledge Sparc and Linux
support is not available in qws folder.
I have copied linux-generic-g++ to linux-sparc-g++ and changed qmake.conf
as per my toolchain functionality as shown below.

include(../../common/linux.conf)
include(../../common/gcc-base-unix.conf)
include(../../common/g++-unix.conf)
#include (../../common/gcc-base-.conf)
#include(../../common/g++.conf)
include(../../common/qws.conf)

#Toolchain
#Compiler Flags to take advantage of the sparc architecture
QMAKE_CFLAGS_RELEASE = -nostdlib -nostartfiles -shared
QMAKE_CXXFLAGS_RELEASE = -nostdlib -nostartfiles -shared
QMAKE_LFLAGS_RELEASE = -nostdlib -nostartfiles -shared

QMAKE_CC = sparc-elf-gcc
QMAKE_CXX = sparc-elf-g++
QMAKE_LINK = sparc-elf-g++
QMAKE_LINK_SHLIB = sparc-elf-g++

QMAKE_AR = sparc-elf-ar cqs
QMAKE_OBJCOPY = sparc-elf-objcopy
QMAKE_STRIP = sparc-elf-strip

load(qt_config)

After this I have configured with below configuration feature

./configure -verbose -opensource -confirm-license -no-qt3support -no-glib
-depths 32 -qt-gfx-vnc -no-gfx-qvfb -no-gfx-multiscreen -no-gfx-directfb
-debug -shared -embedded sparc -platform qws/linux-x86_64-g++ -xplatform
qws/linux-sparc-g++ -host-little-endian -little-endian -no-openssl
-no-opengl -no-sql-sqlite -no-xmlpatterns -no-multimedia -no-audio-backend
-no-phonon -no-script -no-phonon-backend -no-svg -multimedia -no-webkit
-nomake demos -no-separate-debug-info -prefix /usr/local/ -plugindir
/usr/local/plugins -importdir /usr/local/imports -translationdir
/usr/local/translations -no-rpath

I have successfully crated all shared library and copied into my board
/lib/ path

Now my plan is to run analogclock example on board using below command(I
don't have display that's what I am using VNC display)
./analogclock -qws -display VNC:0

analogclock[120]: segfault at 8 ip 5019b06c (rpc f000eff0) sp ef82cae8
error 30001 in libQtGui.so.4.8.6[50017000+10cb000]
Segmentation fault

I am getting segmentation fault when graphics_system_name.isEmpty(); in
src/gui/kernel/qapplication.cpp file is invoked.

After debugging I found that global QString
QApplicationPrivate::graphics_system_name; object is created successfully
with valid address 0x5143a400.
However I could not access any QString member functions such as
(graphics_system_name.data(), graphics_system_name.size().)

if I create local QString class object,it is working fine.if global
segmentation fault.

Please help me

Thanks
Manjunath Goudar
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Strange font issue on iOS 9

2015-07-23 Thread Juhani Matilainen
Hmmm... Interesting, it seems that random texts are displayed in wrong 
characters. If I kill app and restart some text are now ok but still some 
others are mess. And the problem is even editable texts in TextEdit field (also 
when to type new texts). 

Juhani

 André Somers an...@familiesomers.nl kirjoitti 23.7.2015 kello 11.52:
 
 Op 21-7-2015 om 06:41 schreef Juhani Matilainen:
 Hello
 
 I have strange font problem on iOS 9. Messy fonts are displayed in some 
 texts. Here is an example screenshot: 
 https://www.dropbox.com/s/vl0vszob9fupn23/file%2020.7.2015%2015.49.24.png?dl=0
 
 This is QML based app and no problem on iOS 8 or earlier. Any ideas how to 
 fix?
 
 I know that iOS 9 is still beta but many users have been updated to beta 
 version. 
 Lucky for you those users can't leave reviews giving you one * anymore... :-)
 
 André
 
 ___
 Interest mailing list
 Interest@qt-project.org
 http://lists.qt-project.org/mailman/listinfo/interest
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] QCamera flash modes

2015-07-23 Thread Lopes Yoann

On 22 Jul 2015, at 22:41, Jason H jh...@gmx.commailto:jh...@gmx.com wrote:

This is not working.

So In QML, I start the backface camera, and it grabs viewfinder frames.
I then call my C++ object which has this function:
bool FlashControl::isFlashSupported(){
camera = new QCamera(QCamera::BackFace);
if (camera) {
QCameraExposure *exp = camera-exposure();
if (exp) {
qDebug()  QCamera ok, returning flash modes
 exp-isFlashModeSupported(QCameraExposure::FlashOn)
 exp-isFlashModeSupported(QCameraExposure::FlashAuto)
 exp-isFlashModeSupported(QCameraExposure::FlashManual);

return exp-isFlashModeSupported(QCameraExposure::FlashOn);
}
else qDebug()  has QCamera, no exp;
} else qDebug()  no QCamera;
return false;
}

Which then prints all falses and returns false itself, even on a camera that 
has a working flash (Nexus6). What am I still doing wrong?

Having the QML Camera started doesn’t mean your C++ QCamera is started. They 
are two independent objects.

You need to call camera-start(). However, it’s not going to work if the camera 
is already started from the QML side, you need to do the check before starting 
the camera in QML. Another possibility is to pass the QML camera object to your 
C++ backend, and retrieve the actual QCamera object being in use:

void SomeClass:setQMLCamera(QObject *qmlCamera)
{
QCamera *camera = qvariant_castQCamera 
*(qmlCamera-property(“mediaObject”));

...
}

—
Yoann

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Strange font issue on iOS 9

2015-07-23 Thread Mike Krus


On 23/07/2015 11:26, Juhani Matilainen wrote:
 Hmmm... Interesting, it seems that random texts are displayed in wrong
 characters. If I kill app and restart some text are now ok but still
 some others are mess. And the problem is even editable texts in TextEdit
 field (also when to type new texts).
there was a similar issue when iOS 7 came out, again with the Quick 
Controls. They do something different with textures for fonts.
Have you filed a bug report?


Mike

-- 
Mike Krus | mike.k...@kdab.com | Senior Software Engineer
KDAB (UK) Ltd., a KDAB Group company
Tel: UK +44-1625-809908
KDAB - The Qt Experts
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest