Re: [Interest] Fwd: How to shutdown Qt app on Android.

2015-01-27 Thread Pau Garcia i Quiles
On Tue, Jan 27, 2015 at 11:38 AM, Igor Mironchik igor.mironc...@gmail.com
wrote:


 I have tested QApplication::quit() in
 QCoreApplication::applicationStateChanged( Qt::ApplicationSuspended ).

 And yes, the app is still in the list, but when I launch the app again it
 starts from the same beginning, not resumed...


IIRC you need to implement a service to avoid that.

Check these links:

https://bugreports.qt.io/browse/QTBUG-37221

https://github.com/think-free/qt-android-helper



-- 
Pau Garcia i Quiles
http://www.elpauer.org
(Due to my workload, I may need 10 days to answer)
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] QML Preview

2015-01-27 Thread Rutledge Shawn
 Is there any way to have the external tool QML Preview take on a different
 screen size?
 
 I guess you're talking about qmlscene (the tool for Qt Quick 2): There's AFAIK
 no way to force a specific size from the command line, but you can play with 
 the options
 
 --maximized
 --fullscreen
 --resize-to-root

The older tool is qmlscene; the newer one is qml, which is a better habit to 
get into using, with some exceptions.  But neither one supports a -geometry 
parameter like widget apps do.  Maybe we should add that feature.

Of course you can write your own viewer in C++ (not many lines of code), force 
the size to whatever you like, wrap it in something that looks like the device 
bezel etc.

Or you can set the size of the top-level item or window in QML.

You might also need to adjust the QT_DEVICE_PIXEL_RATIO environment variable to 
simulate a high-DPI display.

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


Re: [Interest] why does Qt prefer to return QList over QVector?

2015-01-27 Thread Mark Gaiser
On Tue, Jan 27, 2015 at 8:56 AM, Felix morack felixo...@gmail.com wrote:

 hello,


 i recently gained a small, but considerable performance boost by switching
 out QList for QVector in some legacy code. This is hindered by the fact
 that Qt itself often returns QList, eg with QMap::values().


 Is there a reason for this? Why arent QVectors used?


 A somewhat related question, why is there no QList::reserve()? I guess i
 see how that function might not make much sense from an algorithmic pov,
 but shouldnt it at least be there as a NoOp to make it easy switching
 between data structures?


 best regards,

 As far as i know this is for historic reasons. QList used to be faster
then QVector (someone, please correct me if i'm wrong) in the old days, but
nowadays (Qt5 era) they prefer QVector over QList. It is as fast or faster
then QList in nearly every situation. I vaguely remember there being one
exception where QList was faster, but i don't know the exception anymore.
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] QBuffer::seek warnings in QtConcurrent

2015-01-27 Thread Thiago Macieira
On Tuesday 27 January 2015 15:32:26 Igor Mironchik wrote:
 2   QBuffer::seek   qbuffer.cpp 374 0x5807b386  
 3   QDataStream::skipRawDataqdatastream.cpp 11690x5807dfbc  
 
 4   getExifOrientation  qjpeghandler.cpp820 0x5ab66204

The source file is corrupt.

-- 
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] GStreamer missing plugin error

2015-01-27 Thread Thiago Macieira
On Tuesday 27 January 2015 17:49:50 Harri Pasanen wrote:
 I wonder if there are plans to migrate to GStreamer 1.0?   That is more 
 than two years old, and 0.10 is about ten years old.  Ubuntu seems to 
 have switched in 14.04-14.10, I don't know about other dists.

There are, but the work isn't done.
-- 
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] GStreamer missing plugin error

2015-01-27 Thread Harri Pasanen
I seem to have mp4 playback working on OS X out of the box, but my video 
did not have any sound track.
I have not knowingly installed any gstreamer plugins in the machine.

I made a small testcase included in 
https://bugreports.qt.io/browse/QTBUG-44157 that plays the included mp4 
fine on OSX.  On iOS there is some accidental DRM, the first showing is 
ok, and subsequent showings are corrupted :)

Harri

On 27/01/2015 15:49, René J.V. Bertin wrote:
 FWIW, I just discovered that even on OS X, installing the 
 gstreamer1-gst-plugins-bad gave me mp4 playback once I had the 
 phonon-backend-gstreamer package (4.8.2) installed too. FWI(also)W, I've 
 installed phonon 4.8.3, the version developed independently from Qt 
 (phonon.kde.org) .

 R.
 ___
 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] QBuffer::seek warnings in QtConcurrent

2015-01-27 Thread Igor Mironchik
On Tue, 27 Jan 2015 22:18:23 +0300, Igor Mironchik  
igor.mironc...@gmail.com wrote:

 Hi.

 On Tue, 27 Jan 2015 21:13:55 +0300, Thiago Macieira  
 thiago.macie...@intel.com wrote:

 On Tuesday 27 January 2015 15:32:26 Igor Mironchik wrote:
 2   QBuffer::seek   qbuffer.cpp 374 0x5807b386
 3   QDataStream::skipRawDataqdatastream.cpp 1169 
 0x5807dfbc

 4   getExifOrientation  qjpeghandler.cpp820  
 0x5ab66204

 The source file is corrupt.

 You mean jpeg file is corrupt?

I've looked at qjpeghandler.cpp and it is strangely that practically all  
of my photos produced by my Android camera is corrupted. Do you know any  
software that can give me information about exif in jpeg that I can be  
sure that jpeg is corrupted? Thank you.


-- 
Best Regards,
Igor Mironchik.
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] QtConcurrent and event-driven objects

2015-01-27 Thread Dmitriy Purgin
Hello,

thanks for answering. Sorry, I might have described it not clear enough.
Tasks that utilize timers and sockets are actually quite separate tasks. I
used the code posted just to show the execution context.

I'll start with tasks using timers. These are executed once in a minute to
do some simple jobs: check for license availability, call a stored
procedure in DB to perform scheduled cleanup or look if the database has
some notifications to send. I like your idea from 2), seems to be the way
to go.

But the central part of the application (I mentioned it least in my
previous mail) is a QTcpServer instance which is an HTTP-like server. It
doesn't use any timers but just listens to incoming connections. The
listener spawns a new thread passing a socket descriptor to it upon seeing
an incoming connection. Then the thread creates its own socket using the
descriptor passed, reads data, processes it and writes back the response.
Thus the sockets are not cross-threaded, they are created in an already
spawned thread from the pool. The reason for using thread-per-connection
approach is that the most connections produce database queries which are
synchronous in Qt. So in this case threads are being constantly created and
destroyed: typical HTTP session lifetime here is about a second or less and
there is a constant load of 15-20 connections per second. I think it's a
perfect place to use a QThreadPool instance reusing the threads whose
runnables are done.

My hesitation about QThreadPool handling connections of QTcpServer is the
following: suppose that a thread is spawned by QThreadPool and a QTcpSocket
instance is created in a QRunnable executed in the pool. Is this the case
that any slot of a runnable connected to a QTcpSocket signal is actually
executed in the thread that created the QThreadPool instance, just like it
is the case for QTimer (see my prev. mail)? The documentation states you
cannot start a timer or connect a socket in a thread that is not the
object's thread. The object thread here is the QThreadPool's thread thus
main thread (If I'm not wrong). The sockets don't seem to cause any
problems with QThreadPool so far but I should clearly revert it back to my
old design if it isn't supposed to work like this.

Once again, my old design that uses QThread-only approach with my own
thread pool worked as expected, the thing is I want to refactor my code to
utilize more library facilities which seem to be less error-prone, more
maintainable and unified.

Thanks again for joining the discussion.

Cheers
Dmitriy

2015-01-27 14:28 GMT+06:00 Bo Thorsen b...@vikingsoft.eu:

 On 01/26/2015 11:56 AM, Dmitriy Purgin wrote:
  Another important thing for me is network. The docs also specify that
  the network module should also follow single thread policy. Does that
  mean that an instance of QTcpSocket can't be used in QRunnable started
  by QThreadPool?

 You can only use the socket in one thread at a time. You can pass it on
 to another thread, but you will find yourself with weird bugs if you do
 this a lot.

 You haven't given enough information to say if this is a problem for you
 or not. If the threads just send stuff over the socket, then implement
 this with simple message parsing to the thread that have the socket. If
 the threads handle incoming messages (which I wouldn't expect, since
 you're using timers instead of handling incoming data signals), the
 answer depends on whether your protocol allows out of sync answers or not.

 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] How to shutdown Qt app on Android.

2015-01-27 Thread Igor Mironchik

Hi.

On Tue, 27 Jan 2015 12:53:03 +0300, Harri Pasanen ha...@mpaja.com wrote:

Why do you care?   If I'm correct, it is a list of most recently used  
apps, not necessarily active apps.
At least on iOS it is that way.  On iOS what you see on the list is just  
a screenshot.   I suspect on Android it is the same if you have done  
Qt.quit().


Hmm, may be you are right. I'm not sure in this question.




Just my 2 cents,


Thanks for your 2 cents. :)




Harri

On 27/01/2015 10:47, Igor Mironchik wrote:
This approach doesn't work on Android. Application still in the list of  
inactive applications.


On Mon, 26 Jan 2015 12:02:27 +0300, Nuno Santos  
nunosan...@imaginando.pt wrote:



Igor,
I think you could listen to application state changed signal on the  
app entity and when you receive a pause, you could call app-quit().


http://doc.qt.io/qt-5/qguiapplication.html#applicationStateChanged

This is possibly the most straightforward way.

Regards,

Nuno

On 26 Jan 2015, at 06:24, Igor Mironchik igor.mironc...@gmail.com  
wrote:


Hi.

How to completely shutdown Qt app on Adnroid when Home button  
pressed?


I want to say when user presses Home button app will continue to  
work in background, i.e. the app shown in the list of apps when long  
touch Home button.


How to prevent it and completely shutdown Qt app?

Is it possible?

--Best Regards,
Igor Mironchik.
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest






--Best Regards,
Igor Mironchik.


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






--
Best Regards,
Igor Mironchik.___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] why does Qt prefer to return QList over QVector?

2015-01-27 Thread Frédéric Marchal
On Tuesday 27 January 2015 10:34:57, Giuseppe D'Angelo wrote :
 Il 27/01/2015 09:41, Mark Gaiser ha scritto:
  A somewhat related question, why is there no QList::reserve()?
 
 There is, what's missing is resize(). (Fundamentally that shared part
 behind QList has no code dealing with shrinking.) I've got a WIP on
 gerrit, if only I get the time to work on it again...

The missing resize() is QTBUG-42732 
(https://bugreports.qt.io/browse/QTBUG-42732).

A patch is being reviewed.

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


Re: [Interest] why does Qt prefer to return QList over QVector?

2015-01-27 Thread Daniel França
is QVector faster even for sequential access?
On Tue 27 Jan 2015 at 09:42 Mark Gaiser mark...@gmail.com wrote:

 On Tue, Jan 27, 2015 at 8:56 AM, Felix morack felixo...@gmail.com wrote:

 hello,


 i recently gained a small, but considerable performance boost by
 switching out QList for QVector in some legacy code. This is hindered by
 the fact that Qt itself often returns QList, eg with QMap::values().


 Is there a reason for this? Why arent QVectors used?


 A somewhat related question, why is there no QList::reserve()? I guess i
 see how that function might not make much sense from an algorithmic pov,
 but shouldnt it at least be there as a NoOp to make it easy switching
 between data structures?


 best regards,

 As far as i know this is for historic reasons. QList used to be faster
 then QVector (someone, please correct me if i'm wrong) in the old days, but
 nowadays (Qt5 era) they prefer QVector over QList. It is as fast or faster
 then QList in nearly every situation. I vaguely remember there being one
 exception where QList was faster, but i don't know the exception anymore.

 ___
 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] Storage path on Android

2015-01-27 Thread Igor Mironchik

Thank you, QStorageInfo is working. Tested on real Android v 4.0.3.

On Tue, 27 Jan 2015 05:04:02 +0300, Ruslan Moukhlynin rus...@khvmntk.ru  
wrote:


The default storage path you cat get with  
QStandardPaths::​writableLocation(QStandardPaths::AppDataLocation)
For list of mounted drives see this link  
http://doc-snapshot.qt-project.org/qt5-5.4/qstorageinfo.html

Sorry, I can't check it on real Android device for now


26.01.2015 16:17, Igor Mironchik пишет:

Hi.

How can I determine all storage's path in Android with Qt 5.4

For example, if I have SD card installed, I want to retrieve  
/mnt/sdcard for the SD card and /mnt/sdcard2 for the phone  
storage.


Thank you.







--
Best Regards,
Igor Mironchik.___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] How to shutdown Qt app on Android.

2015-01-27 Thread Igor Mironchik
This approach doesn't work on Android. Application still in the list of  
inactive applications.


On Mon, 26 Jan 2015 12:02:27 +0300, Nuno Santos nunosan...@imaginando.pt  
wrote:



Igor,

I think you could listen to application state changed signal on the app  
entity and when you receive a pause, you could call app-quit().


http://doc.qt.io/qt-5/qguiapplication.html#applicationStateChanged

This is possibly the most straightforward way.

Regards,

Nuno

On 26 Jan 2015, at 06:24, Igor Mironchik igor.mironc...@gmail.com  
wrote:


Hi.

How to completely shutdown Qt app on Adnroid when Home button pressed?

I want to say when user presses Home button app will continue to work  
in background, i.e. the app shown in the list of apps when long touch  
Home button.


How to prevent it and completely shutdown Qt app?

Is it possible?

--Best Regards,
Igor Mironchik.
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest






--
Best Regards,
Igor Mironchik.___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] why does Qt prefer to return QList over QVector?

2015-01-27 Thread Felix morack
yes, in fact especially then, probably due to caching.

2015-01-27 9:47 GMT+01:00 Daniel França daniel.fra...@gmail.com:

 is QVector faster even for sequential access?
 On Tue 27 Jan 2015 at 09:42 Mark Gaiser mark...@gmail.com wrote:

 On Tue, Jan 27, 2015 at 8:56 AM, Felix morack felixo...@gmail.com
 wrote:

 hello,


 i recently gained a small, but considerable performance boost by
 switching out QList for QVector in some legacy code. This is hindered by
 the fact that Qt itself often returns QList, eg with QMap::values().


 Is there a reason for this? Why arent QVectors used?


 A somewhat related question, why is there no QList::reserve()? I guess i
 see how that function might not make much sense from an algorithmic pov,
 but shouldnt it at least be there as a NoOp to make it easy switching
 between data structures?


 best regards,

 As far as i know this is for historic reasons. QList used to be faster
 then QVector (someone, please correct me if i'm wrong) in the old days, but
 nowadays (Qt5 era) they prefer QVector over QList. It is as fast or faster
 then QList in nearly every situation. I vaguely remember there being one
 exception where QList was faster, but i don't know the exception anymore.

 ___
 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] why does Qt prefer to return QList over QVector?

2015-01-27 Thread Giuseppe D'Angelo

Il 27/01/2015 09:41, Mark Gaiser ha scritto:

As far as i know this is for historic reasons. QList used to be faster
then QVector (someone, please correct me if i'm wrong) in the old days,
but nowadays (Qt5 era) they prefer QVector over QList. It is as fast or
faster then QList in nearly every situation. I vaguely remember there
being one exception where QList was faster, but i don't know the
exception anymore.


I don't think it has ever been faster. The main reason behind QList is 
to generate less code: all the handling of the backing array is shared 
amongst the specializations. But please refer to Marc Mutz's awesome 
blog posts for more info:


https://marcmutz.wordpress.com/effective-qt/containers/

The other difference with QVector is that QList has a prepend optimization.


A somewhat related question, why is there no QList::reserve()?


There is, what's missing is resize(). (Fundamentally that shared part 
behind QList has no code dealing with shrinking.) I've got a WIP on 
gerrit, if only I get the time to work on it again...


Cheers,
--
Giuseppe D'Angelo | giuseppe.dang...@kdab.com | Software Engineer
KDAB (UK) Ltd., a KDAB Group company
Tel. UK +44-1738-450410, Sweden (HQ) +46-563-540090
KDAB - Qt Experts - Platform-independent software solutions



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


Re: [Interest] How to shutdown Qt app on Android.

2015-01-27 Thread Harri Pasanen
Why do you care?   If I'm correct, it is a list of most recently used 
apps, not necessarily active apps.
At least on iOS it is that way.  On iOS what you see on the list is just 
a screenshot.   I suspect on Android it is the same if you have done 
Qt.quit().


Just my 2 cents,

Harri

On 27/01/2015 10:47, Igor Mironchik wrote:
This approach doesn't work on Android. Application still in the list 
of inactive applications.


On Mon, 26 Jan 2015 12:02:27 +0300, Nuno Santos 
nunosan...@imaginando.pt wrote:


Igor,

I think you could listen to application state changed signal on
the app entity and when you receive a pause, you could call
app-quit().

http://doc.qt.io/qt-5/qguiapplication.html#applicationStateChanged

This is possibly the most straightforward way.

Regards,

Nuno


On 26 Jan 2015, at 06:24, Igor Mironchik
igor.mironc...@gmail.com mailto:igor.mironc...@gmail.com wrote:

Hi.

How to completely shutdown Qt app on Adnroid when Home button
pressed?

I want to say when user presses Home button app will continue
to work in
background, i.e. the app shown in the list of apps when long
touch Home
button.

How to prevent it and completely shutdown Qt app?

Is it possible?

-- 
Best Regards,

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





--
Best Regards,
Igor Mironchik.


___
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] QtConcurrent and event-driven objects

2015-01-27 Thread Bo Thorsen
On 01/26/2015 11:56 AM, Dmitriy Purgin wrote:
 Hi,

 I'm using Qt to power an application server with multithreaded TCP
 listener and maintenence tasks running in separate threads. The TCP
 listener runs in main thread and spawns a separate thread to handle
 socket operation. The socket is being created when the thread is running
 using a socket descriptor passed from the TCP listener. The maintenance
 threads hold a timer only and run on timer shot to query DB and do stuff
 (doesn't really matter).

 The thing is, I have always used it like this:

 // [L1] Listing 1
 // this simplified sample code neglects cleanup and possible memory leaks
 class MaintenanceWorker : public QObject
 {
  Q_OBJECT

 public:
  MaintenanceWorker()
  : QObject(NULL),
mTimer(NULL)
  {
  // executes in main thread
  moveToThread(mThread);
  connect(mThread, SIGNAL(started()), this,
 SLOT(onThreadStarted()));
  }
 private slots:
  void onThreadStarted()
  {
  // executes in spawned thread
  mTimer = new QTimer();
  connect(mTimer, SIGNAL(timeout()), this, SLOT(onTimerTimeout()));
  mTimer-start(6);
  }

  void onTimerTimeout()
  {
  // executes in spawned thread
  }
 private:
   QThread mThread;
   QTimer* mTimer; // to be created in thread
 };

 After porting the project from Qt 4 to Qt 5 (using Qt 5.3 now) I've
 decided to use high-level QtConcurrent facilities and namely QThreadPool
 for its ability to reuse threads, control pool size and so on. So the
 sample code above was transformed into this:

Sorry, but I'm not going to actually answer your question :)

This decision doesn't make much sense to me. The timer seems to go 
against the idea of using the threadpool in the first place. So here's 
what I would do:

1) Keep your old design. It works and unless you often delete and create 
new threads, you won't get better performance with the new code.

or

2) Move the timers to a single job creator. Possibly the same object 
that holds the thread pool. In here you create the tasks from the timers 
and give them to the pool.

A runnable object is usually a simple task that needs to be done 
sometime soon. This suggests that the tasks you have are really what 
happens when the timer fires, which is why I would expect you to go to 
number 2).

The design you implement now feels like you just want to use a different 
set of thread classes, but you don't consider what this means for your 
own code design.

So my advice is: Go all the way with the new design, or stick with what 
you have that is already working.

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] QtConcurrent and event-driven objects

2015-01-27 Thread Bo Thorsen
On 01/26/2015 11:56 AM, Dmitriy Purgin wrote:
 Another important thing for me is network. The docs also specify that
 the network module should also follow single thread policy. Does that
 mean that an instance of QTcpSocket can't be used in QRunnable started
 by QThreadPool?

You can only use the socket in one thread at a time. You can pass it on 
to another thread, but you will find yourself with weird bugs if you do 
this a lot.

You haven't given enough information to say if this is a problem for you 
or not. If the threads just send stuff over the socket, then implement 
this with simple message parsing to the thread that have the socket. If 
the threads handle incoming messages (which I wouldn't expect, since 
you're using timers instead of handling incoming data signals), the 
answer depends on whether your protocol allows out of sync answers or not.

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] QBuffer::seek warnings in QtConcurrent

2015-01-27 Thread Giuseppe D'Angelo

Il 27/01/2015 20:27, Igor Mironchik ha scritto:

I've looked at qjpeghandler.cpp and it is strangely that practically all
of my photos produced by my Android camera is corrupted. Do you know any
software that can give me information about exif in jpeg that I can be
sure that jpeg is corrupted? Thank you.


Possibly exiftool or some any other image manipulation program.

But also I wonder about the code around your backtrace:


0   qt_message_fatalqlogging.cpp14070x57ed3f21  
1   QMessageLogger::warning qlogging.cpp396 0x57ed28bb  
2   QBuffer::seek   qbuffer.cpp 374 0x5807b386  
3   QDataStream::skipRawDataqdatastream.cpp 11690x5807dfbc  
4   getExifOrientation  qjpeghandler.cpp820 0x5ab66204  


=


795 quint32 offset;
...
811 stream  offset;
812 // we have already used 8 bytes of TIFF header
813 offset -= 8;
814
815 // read IFD
816 while (!stream.atEnd()) {
817 quint16 numEntries;
818
819 // skip offset bytes to get the next IFD
820 if (stream.skipRawData(offset) != (qint32)offset)
821 return -1;


Note in particular that stream reads an unsigned 32 bit int into 
offset, but then skipRawData silently converts to signed... (but it may 
be totally unrelated with the problem here, which perhaps results from 
bad EXIF parsing on Qt side)


HTH,
--
Giuseppe D'Angelo | giuseppe.dang...@kdab.com | Software Engineer
KDAB (UK) Ltd., a KDAB Group company
Tel. UK +44-1738-450410, Sweden (HQ) +46-563-540090
KDAB - Qt Experts - Platform-independent software solutions



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


Re: [Interest] building only a platform plugin?

2015-01-27 Thread René J . V . Bertin
On Tuesday January 27 2015 11:43:40 René J.V. Bertin wrote:
 FWIW: after building qtbase with xcb support and installing just the 
 additional files listed in my previous email, I then proceeded to 
snip
 A few observations:

Here's a screenshot of Qt's own Assistant, displaying through my X server 
(XQuartz) and natively. They share the exact same settings, of course.

https://trac.macports.org/attachment/ticket/46536/Qt54-Assistant-cocoa-vs-xcb.png

It shows several things:

- the aforementioned application font size issue: the native version 
(lower/front window) has the correct size. The font also looks squashed. This 
is Novarese Medium, btw. That is, it's supposed to be the medium weight 
typeface...
- the window background colour is off. This is not a result of the style I'm 
using here (QtCurve); all styles show the same colour.
- The browser apparently uses the correct display resolution (DPI) setting, as 
shown by the (near) identical font sizes in the displayed documentation (which 
of course uses the document's font, not the selected browser font).

- The problem with less basic font styles sadly occurs with the 
freetype/fontconfig engine too. Here I have selected Source Sans Pro Semibold, 
then OK'ed the dialog. After reopening the dialog, the font preview changed and 
the style list no longer shows the selected style.
This does not happen when selecting a regular or bold style.
Qt 4 and Qt 5 are equally afflicted by this issue which is really annoying as 
some of the best UI fonts are medium/semibold weights.

Other than that, this screenshot also shows the benefit of the Infinality 
patches in conjunction with bohoomil's ultimate fontconfig database. Here 
I've chosen a rather light rendering, but even with a heavier setting the 
result remains better defined, less fuzzy and ultimately more readable with the 
freetype fontengine than with Cocoa's CoreText.

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


Re: [Interest] Custom QQuickItem with smooth painting

2015-01-27 Thread Ruslan Moukhlynin

Thanks for the answer!

In my case setting samples makes the output even worse then without 
setting it. I've tried 16 and 255, nothing works.


Setting format.setSamples() removes any antialiasing at all.

Without format.setSamples() - http://pbrd.co/1EO9GRh


With format.setSamples() - http://pbrd.co/1EO9KjX

The yellow star is my shape I want to paint with antialiasing. The 
rectangle is QML Rectangle with radius set.




27.01.2015 17:22, Gunnar Sletta пишет:

You can either rely on multisample antialiasing by doing:

QQuickView view;
QSurfaceFormat format = view.requestedFormat();
format.setSamples(16); // set as high as possible, will be cut back to 
what is supported

view.setFormat(view);

view.setSource(“my.qml”);

view.show();

By requesting a multisampled OpenGL context, all primitives will be 
antialiased. Depending on your hardware, this might come at a 
performance cost though.


If you don’t want to rely on multisampling, you need to create 
triangles along the edges of your line to “fake” an antialiased edge, 
like you already found out that the default rectangle implementation 
does.


-
cheers,
Gunnar

On 27 Jan 2015, at 02:49, Ruslan Moukhlynin rus...@khvmntk.ru 
mailto:rus...@khvmntk.ru wrote:


Hi all!
In my app I use some custom QML element, for simplicity it just a line.

So I overrided QQuickItem::updatePaintNode and inside it I paint my 
element.


QSGGeometry *geometry = new 
QSGGeometry(QSGGeometry::defaultAttributes_Point2D(), 2);

geometry-setDrawingMode(GL_LINES);
geometry-setLineWidth(3);
geometry-vertexDataAsPoint2D()[0].set(0, 0);
geometry-vertexDataAsPoint2D()[1].set(width(), height());

QSGFlatColorMaterial *material = new QSGFlatColorMaterial;
material-setColor(QColor(255, 0, 0));

QSGGeometryNode *node = new QSGGeometryNode;
node-setGeometry(geometry);
node-setFlag(QSGNode::OwnsGeometry);
node-setMaterial(material);
node-setFlag(QSGNode::OwnsMaterial);

But this line looks so ugly. There is no antialiasing at all here.
Ok, I 've looked through QSGDefaultRectangleNode source from 
/$QTDIR/Src/qtdeclarative/src/quick/scenegraph/ and tried to 
implement its QSGSmoothColorMaterial instead of QSGFlatColorMaterial 
but nothing works, I just get segmentation fault.
I can't see call stack, just some assembler code so I cannot find the 
problem line in my code.


So my question is very simple - how can I paint smooth line in custom 
QQuickItem item? Any advice, example or suggestions will be greatly 
appreciated!

___
Interest mailing list
Interest@qt-project.org mailto: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] QBuffer::seek warnings in QtConcurrent

2015-01-27 Thread Igor Mironchik
Hi.

On Tue, 27 Jan 2015 21:13:55 +0300, Thiago Macieira  
thiago.macie...@intel.com wrote:

 On Tuesday 27 January 2015 15:32:26 Igor Mironchik wrote:
 2   QBuffer::seek   qbuffer.cpp 374 0x5807b386
 3   QDataStream::skipRawDataqdatastream.cpp 1169 
 0x5807dfbc

 4   getExifOrientation  qjpeghandler.cpp820  
 0x5ab66204

 The source file is corrupt.

You mean jpeg file is corrupt?


-- 
Best Regards,
Igor Mironchik.
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


[Interest] QML Drag: Create a shapshot of the dragged item

2015-01-27 Thread Carollo, Benedetto
Hi there,
I don't know if I have found a bug or of the behaviour is the indented one.

Basically I'm trying to create a snapshot of a dragged item in QML.
I'm using Qt 5.4 but unfortunately when the qml object is hosted in a 
qquickwidget the qml method grabToImage doesn't work and on the console is 
shown the following error message: Item::grabToImage: item's window is not 
visible.

You can see details on the following forum thread :
http://qt-project.org/forums/viewthread/52402/#216973

Is it a bug? Is so how do I report it? What kind of workaround can I use?
If the only approach is going via c++ what will be the best approach?

If the behaviour is the intended one, could  somebody please explain me the 
reason why ?

Thanks a lot for your help,

Kind regards,

Ben

__
This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com
_
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


[Interest] [QML] Disallow lowercase import qualifier ids

2015-01-27 Thread Konstantin Podsvirov
Hi all!

qt/declarative/src/qml/compiler/qqmlcodegenerator.cpp

line ~356

QString qualifier = node-importId.toString();
if (!qualifier.at(0).isUpper()) {
QQmlError error;

error.setDescription(QCoreApplication::translate(QQmlParser,Invalid import 
qualifier ID));
error.setLine(node-importIdToken.startLine);
error.setColumn(node-importIdToken.startColumn);
errors  error;
return false;
}

Why not use lowercase letters?

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


[Interest] GStreamer missing plugin error

2015-01-27 Thread Harri Pasanen
Does Qt have all the plugins required for MediaPlayer to play video, in 
my case xvid in mp4 container,

or does it rely on the host having required codecs etc?

The reason I ask, is that I'm on a new linux installation (Kubuntu 14.10 
amd64) and the video doesn't play any more.  Instead I'm getting the 
following in the Application Output:


Warning: No decoder available for type 'video/mpeg, mpegversion=(int)4, 
systemstream=(boolean)false, profile=(string)simple, level=(string)1, 
codec_data=(buffer)01b00101b589130100012000c48d88000d14042d144301b24c61766335362e31302e313030, 
width=(int)640, height=(int)360, framerate=(fraction)1/2, 
pixel-aspect-ratio=(fraction)1/1'.


Error: Your GStreamer installation is missing a plug-in.



Yet when I play the same video from command line using GStreamer tools:

gst-launch-1.0 playbin uri=file:///home/harri/Videos/Stoppola/My Film.mp4

that works fine.

Any idea?

Harri



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


[Interest] QBuffer::seek warnings in QtConcurrent

2015-01-27 Thread Igor Mironchik
Hi.

I found that next code:

//! Load images future watcher.
QFutureWatcher QImage  * futureWatcher;
//! Current index for loading image.
int currentLoadImageIndex;
//! Future.
QFuture QImage  future;

QImage loadImage( const QString  fileName, const QSize  maxSize )
{
QImage image( fileName );

if( !image.isNull() )
{
image = image.scaled( maxSize, Qt::KeepAspectRatio,
Qt::SmoothTransformation );
}

return image;
}

void
WindowPrivate::loadImages()
{
currentLoadImageIndex = 0;

if( !imageFiles.isEmpty() )
{
future = QtConcurrent::run( loadImage,
imageFiles.at( currentLoadImageIndex ),
imageList-maxImageSize() );
futureWatcher-setFuture( future );
}
}

void
Window::_q_imageLoaded()
{
QImage image = d-future.result();

d-imageList-model()-setData( d-currentLoadImageIndex, image );

++d-currentLoadImageIndex;

if( d-currentLoadImageIndex  d-imageList-model()-rowCount() )
{
d-future = QtConcurrent::run( loadImage,
d-imageFiles.at( d-currentLoadImageIndex ),
d-imageList-maxImageSize() );

d-futureWatcher-setFuture( d-future );
}
}

Produces QBuffer::seek warning like this:

QBuffer::seek: Invalid pos: -583168116
QBuffer::seek: Invalid pos: -1123415015

etc...

What is it? Should I care about it?

Thank you.

P.S. I don't use QBuffer anywhere in the application. This warnings is Qt  
internal warnings...

-- 
Best Regards,
Igor Mironchik.
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] GStreamer missing plugin error

2015-01-27 Thread Thiago Macieira
On Tuesday 27 January 2015 11:30:54 Harri Pasanen wrote:
 Does Qt have all the plugins required for MediaPlayer to play video, in
 my case xvid in mp4 container,
 or does it rely on the host having required codecs etc?

The host has to provide them. Qt supplies nothing of the sort.

 Yet when I play the same video from command line using GStreamer tools:
 
 gst-launch-1.0 playbin uri=file:///home/harri/Videos/Stoppola/My Film.mp4
 
 that works fine.
 
 Any idea?

Please check GStreamer 0.10 too.
-- 
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] How to shutdown Qt app on Android.

2015-01-27 Thread Robert Iakobashvili
Dear Igor,

1. Arrange forceClosingMyApp in your derived activity:

package com.myComp.MyProduct.activity;

import java.lang.String;
import android.os.Bundle;
import android.util.Log;
import android.content.Intent;
import android.app.Activity;
import android.view.KeyEvent;

import org.qtproject.qt5.android.bindings.QtActivity;

public class MyActivity extends org.qtproject.qt5.android.bindings.QtActivity
{
private static final String TAG = MyActivity;
private static MyActivity m_MyActivityInstance = null;

public static MyActivity getMyActivityInstance()
{
return MyActivity.m_MyActivityInstance;
}
};


public static void forceClosingMyActivity()
{
//Log.v(TAG, forceClosingMyActivity - entered);


m_GhotitActivityInstance.finish();

}
Regards,
Robert


On Mon, Jan 26, 2015 at 8:24 AM, Igor Mironchik
igor.mironc...@gmail.com wrote:
 Hi.

 How to completely shutdown Qt app on Adnroid when Home button pressed?

 I want to say when user presses Home button app will continue to work in
 background, i.e. the app shown in the list of apps when long touch Home
 button.

 How to prevent it and completely shutdown Qt app?

 Is it possible?

 --
 Best Regards,
 Igor Mironchik.
 ___
 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] Fwd: How to shutdown Qt app on Android.

2015-01-27 Thread Robert Iakobashvili
Dear Igor,

1. Arrange forceClosingMyApp in your derived activity:

package com.myComp.MyProduct.activity;

import java.lang.String;
import android.os.Bundle;
import android.util.Log;
import android.content.Intent;
import android.app.Activity;
import android.view.KeyEvent;

import org.qtproject.qt5.android.bindings.QtActivity;

public class MyActivity extends org.qtproject.qt5.android.bindings.QtActivity
{
private static final String TAG = MyActivity;
private static MyActivity m_MyActivityInstance = null;

public static MyActivity getMyActivityInstance()
{
return MyActivity.m_MyActivityInstance;
}

@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);

/* Do your staff here: */
MyActivity.m_MyActivityInstance = this;
}

@Override
protected void onResume()
{
super.onResume();
//Log.v(TAG, onResume - entered);
}

@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if( (event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_UP) ||
(event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_DOWN) ||
(event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_MUTE ) ) {
return super.super_onKeyDown(keyCode,event);
}
else{
return super.onKeyDown(keyCode,event);
}
}

public static void forceClosingMyActivity()
{
//Log.v(TAG, forceClosingMyActivity - entered);
m_MyActivityInstance.finish();

}
}

2. Catch the Home Button event
and call forceClosingMyActivity() via JNI

3. If not helpful, ask at android-developm...@qt-project.org

I hope this has help.

Regards,
Robert


On Mon, Jan 26, 2015 at 8:24 AM, Igor Mironchik
igor.mironc...@gmail.com wrote:
 Hi.

 How to completely shutdown Qt app on Adnroid when Home button pressed?

 I want to say when user presses Home button app will continue to work in
 background, i.e. the app shown in the list of apps when long touch Home
 button.

 How to prevent it and completely shutdown Qt app?

 Is it possible?

 --
 Best Regards,
 Igor Mironchik.
 ___
 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] why does Qt prefer to return QList over QVector?

2015-01-27 Thread Thiago Macieira
On Tuesday 27 January 2015 10:34:57 Giuseppe D'Angelo wrote:
 I don't think it has ever been faster. The main reason behind QList is 
 to generate less code: all the handling of the backing array is shared 
 amongst the specializations. But please refer to Marc Mutz's awesome 
 blog posts for more info:
 
 https://marcmutz.wordpress.com/effective-qt/containers/

I was going to rewrite QList with QVector for Qt 5.0 but didn't have enough 
time before feature freeze.

 The other difference with QVector is that QList has a prepend optimization.

And this was one of the reasons.

-- 
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] Fwd: How to shutdown Qt app on Android.

2015-01-27 Thread Igor Mironchik
Thank you for your suggestion.

I have tested QApplication::quit() in  
QCoreApplication::applicationStateChanged( Qt::ApplicationSuspended ).

And yes, the app is still in the list, but when I launch the app again it  
starts from the same beginning, not resumed...

Seems that approach with applicationStateChanged() workes...

Thank you guys.

On Tue, 27 Jan 2015 13:27:43 +0300, Robert Iakobashvili  
corobe...@gmail.com wrote:

 Dear Igor,

 1. Arrange forceClosingMyApp in your derived activity:

 package com.myComp.MyProduct.activity;

 import java.lang.String;
 import android.os.Bundle;
 import android.util.Log;
 import android.content.Intent;
 import android.app.Activity;
 import android.view.KeyEvent;

 import org.qtproject.qt5.android.bindings.QtActivity;

 public class MyActivity extends  
 org.qtproject.qt5.android.bindings.QtActivity
 {
 private static final String TAG = MyActivity;
 private static MyActivity m_MyActivityInstance = null;

 public static MyActivity getMyActivityInstance()
 {
 return MyActivity.m_MyActivityInstance;
 }

 @Override
 public void onCreate(Bundle savedInstanceState)
 {
 super.onCreate(savedInstanceState);

 /* Do your staff here: */
 MyActivity.m_MyActivityInstance = this;
 }

 @Override
 protected void onResume()
 {
 super.onResume();
 //Log.v(TAG, onResume - entered);
 }

 @Override
 public boolean onKeyDown(int keyCode, KeyEvent event)
 {
 if( (event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_UP) ||
 (event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_DOWN) ||
 (event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_MUTE ) ) {
 return super.super_onKeyDown(keyCode,event);
 }
 else{
 return super.onKeyDown(keyCode,event);
 }
 }

 public static void forceClosingMyActivity()
 {
 //Log.v(TAG, forceClosingMyActivity - entered);
 m_MyActivityInstance.finish();

 }
 }

 2. Catch the Home Button event
 and call forceClosingMyActivity() via JNI

 3. If not helpful, ask at android-developm...@qt-project.org

 I hope this has help.

 Regards,
 Robert


 On Mon, Jan 26, 2015 at 8:24 AM, Igor Mironchik
 igor.mironc...@gmail.com wrote:
 Hi.

 How to completely shutdown Qt app on Adnroid when Home button pressed?

 I want to say when user presses Home button app will continue to work  
 in
 background, i.e. the app shown in the list of apps when long touch  
 Home
 button.

 How to prevent it and completely shutdown Qt app?

 Is it possible?

 --
 Best Regards,
 Igor Mironchik.
 ___
 Interest mailing list
 Interest@qt-project.org
 http://lists.qt-project.org/mailman/listinfo/interest


-- 
Best Regards,
Igor Mironchik.
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] QBuffer::seek warnings in QtConcurrent

2015-01-27 Thread Thiago Macieira
On Tuesday 27 January 2015 14:32:35 Igor Mironchik wrote:
 P.S. I don't use QBuffer anywhere in the application. This warnings is Qt  
 internal warnings...

Can you run with QT_FATAL_WARNINGS=1 and post a backtrace?
-- 
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] Custom QQuickItem with smooth painting

2015-01-27 Thread Gunnar Sletta
Which platform / hardware is this?

If you run your code with QSG_INFO=1 in the environment, does it report how 
many samples it finds? (16 is usually the absolute max on desktop hardware, 8 
on some. 4 is usually the cap on embedded).

If the hardware or GL stack doesn’t support multisampling, it should fall back 
to no multisampling, which should be the same as the default. It looks as if Qt 
thinks it is using multisampling while in fact there is none. 

cheers,
Gunnar

 On 28 Jan 2015, at 00:33, Ruslan Moukhlynin rus...@khvmntk.ru wrote:
 
 Thanks for the answer!
 
 In my case setting samples makes the output even worse then without setting 
 it. I've tried 16 and 255, nothing works.
 
 Setting format.setSamples() removes any antialiasing at all.
 
 Without format.setSamples() - http://pbrd.co/1EO9GRh http://pbrd.co/1EO9GRh
 
 
 With format.setSamples() - http://pbrd.co/1EO9KjX http://pbrd.co/1EO9KjX
 
 The yellow star is my shape I want to paint with antialiasing. The rectangle 
 is QML Rectangle with radius set.
 
 
 
 27.01.2015 17:22, Gunnar Sletta пишет:
 You can either rely on multisample antialiasing by doing:
 
 QQuickView view;
 QSurfaceFormat format = view.requestedFormat();
 format.setSamples(16); // set as high as possible, will be cut back to what 
 is supported
 view.setFormat(view);
 
 view.setSource(“my.qml”);
 
 view.show();
 
 By requesting a multisampled OpenGL context, all primitives will be 
 antialiased. Depending on your hardware, this might come at a performance 
 cost though. 
 
 If you don’t want to rely on multisampling, you need to create triangles 
 along the edges of your line to “fake” an antialiased edge, like you already 
 found out that the default rectangle implementation does. 
 
 -
 cheers,
 Gunnar
 
 On 27 Jan 2015, at 02:49, Ruslan Moukhlynin rus...@khvmntk.ru 
 mailto:rus...@khvmntk.ru wrote:
 
 Hi all!
 In my app I use some custom QML element, for simplicity it just a line.
 
 So I overrided QQuickItem::updatePaintNode and inside it I paint my element.
 
 QSGGeometry *geometry = new 
 QSGGeometry(QSGGeometry::defaultAttributes_Point2D(), 2);
 geometry-setDrawingMode(GL_LINES);
 geometry-setLineWidth(3);
 geometry-vertexDataAsPoint2D()[0].set(0, 0);
 geometry-vertexDataAsPoint2D()[1].set(width(), height());
 
 QSGFlatColorMaterial *material = new QSGFlatColorMaterial;
 material-setColor(QColor(255, 0, 0));
 
 QSGGeometryNode *node = new QSGGeometryNode;
 node-setGeometry(geometry);
 node-setFlag(QSGNode::OwnsGeometry);
 node-setMaterial(material);
 node-setFlag(QSGNode::OwnsMaterial);
 
 But this line looks so ugly. There is no antialiasing at all here.
 Ok, I 've looked through QSGDefaultRectangleNode source from 
 $QTDIR/Src/qtdeclarative/src/quick/scenegraph and tried to implement its 
 QSGSmoothColorMaterial instead of QSGFlatColorMaterial but nothing works, I 
 just get segmentation fault.
 I can't see call stack, just some assembler code so I cannot find the 
 problem line in my code.
 
 So my question is very simple - how can I paint smooth line in custom 
 QQuickItem item? Any advice, example or suggestions will be greatly 
 appreciated!
 ___
 Interest mailing list
 Interest@qt-project.org mailto:Interest@qt-project.org
 http://lists.qt-project.org/mailman/listinfo/interest 
 http://lists.qt-project.org/mailman/listinfo/interest
 
 

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


Re: [Interest] QBuffer::seek warnings in QtConcurrent

2015-01-27 Thread Constantin Makshin
Nice finding, Guiseppe. :)

You're right that this may be unrelated to Igor's problem, but lines
811–813 look like a nice bait for JPEG images with malformed EXIF
header[s] — values less than 8 will wrap around zero, leading to an
attempt to skip unknown amount of data (QDataStream::skipRawData() takes
an int, but after subtraction 'offset' would be something not
representable as a 32-bit signed integer and behavior of such
conversions is not defined by the standard).

On 01/28/2015 12:18 AM, Giuseppe D'Angelo wrote:
 Il 27/01/2015 20:27, Igor Mironchik ha scritto:
 I've looked at qjpeghandler.cpp and it is strangely that practically all
 of my photos produced by my Android camera is corrupted. Do you know any
 software that can give me information about exif in jpeg that I can be
 sure that jpeg is corrupted? Thank you.
 
 Possibly exiftool or some any other image manipulation program.
 
 But also I wonder about the code around your backtrace:
 
 0qt_message_fatalqlogging.cpp14070x57ed3f21   
 1QMessageLogger::warningqlogging.cpp3960x57ed28bb   
 2QBuffer::seekqbuffer.cpp3740x5807b386   
 3QDataStream::skipRawDataqdatastream.cpp11690x5807dfbc   
 4getExifOrientationqjpeghandler.cpp8200x5ab66204   
 
 =
 
 795 quint32 offset;
 ...
 811 stream  offset;
 812 // we have already used 8 bytes of TIFF header
 813 offset -= 8;
 814
 815 // read IFD
 816 while (!stream.atEnd()) {
 817 quint16 numEntries;
 818
 819 // skip offset bytes to get the next IFD
 820 if (stream.skipRawData(offset) != (qint32)offset)
 821 return -1;
 
 Note in particular that stream reads an unsigned 32 bit int into
 offset, but then skipRawData silently converts to signed... (but it may
 be totally unrelated with the problem here, which perhaps results from
 bad EXIF parsing on Qt side)
 
 HTH,



signature.asc
Description: OpenPGP digital signature
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] GStreamer missing plugin error

2015-01-27 Thread Harri Pasanen
I wonder if there are plans to migrate to GStreamer 1.0?   That is more 
than two years old, and 0.10 is about ten years old.  Ubuntu seems to 
have switched in 14.04-14.10, I don't know about other dists.

Btw. on OSX, I got mp4 playback out of the box when running in iOS 
simulator, did not try the desktop yet.
There seems to be some issues with MediaPlayer there thought, putting 
together a testcase and bugreport.

Harri




On 27/01/2015 15:49, René J.V. Bertin wrote:
 FWIW, I just discovered that even on OS X, installing the 
 gstreamer1-gst-plugins-bad gave me mp4 playback once I had the 
 phonon-backend-gstreamer package (4.8.2) installed too. FWI(also)W, I've 
 installed phonon 4.8.3, the version developed independently from Qt 
 (phonon.kde.org) .

 R.
 ___
 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] QBuffer::seek warnings in QtConcurrent

2015-01-27 Thread Igor Mironchik
0   qt_message_fatalqlogging.cpp14070x57ed3f21  
1   QMessageLogger::warning qlogging.cpp396 0x57ed28bb  
2   QBuffer::seek   qbuffer.cpp 374 0x5807b386  
3   QDataStream::skipRawDataqdatastream.cpp 11690x5807dfbc  
4   getExifOrientation  qjpeghandler.cpp820 0x5ab66204  
5   QJpegHandlerPrivate::readJpegHeader qjpeghandler.cpp913 
0x5ab65bf8  
6   QJpegHandlerPrivate::read   qjpeghandler.cpp978 
0x5ab65c7d  
7   QJpegHandler::read  qjpeghandler.cpp10620x5ab62f3e  
8   QImageReader::read  qimagereader.cpp12350x58799f59  
9   QImageReader::read  qimagereader.cpp11850x58799c64  
10  QImage::loadqimage.cpp  31630x58775073  
11  QImage::QImage  qimage.cpp  949 0x58770352  
12  loadImage   window.cpp  105 0xd88b1b
13  QtConcurrent::StoredFunctorCall2QImage,QImage (__cdecl*)(QString const 
 
,QSize const  
),QString,QSize::runFunctor   qtconcurrentstoredfunctioncall.h460 
0xd8e3e2
14  QtConcurrent::RunFunctionTaskQImage::run  qtconcurrentrunbase.h   
102 0xd8e2ac
15  QThreadPoolThread::run  qthreadpool.cpp 93  0x57eea4f8  
16  QThreadPrivate::start   qthread_win.cpp 346 0x57ef1445  
17  _callthreadstartex  threadex.c  376 0x5ae13651  
18  _threadstartex  threadex.c  359 0x5ae13861  
19  BaseThreadInitThunk kernel320x7579338a  
... More  


On Tue, 27 Jan 2015 14:39:21 +0300, Thiago Macieira  
thiago.macie...@intel.com wrote:

 On Tuesday 27 January 2015 14:32:35 Igor Mironchik wrote:
 P.S. I don't use QBuffer anywhere in the application. This warnings is  
 Qt
 internal warnings...

 Can you run with QT_FATAL_WARNINGS=1 and post a backtrace?


-- 
Best Regards,
Igor Mironchik.
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Building Qt5 with Intel C++ under Windows

2015-01-27 Thread Saether Jan-Arve
FYI, I did some experiments here, and as I suspected, none of the *_p.c files 
have to be compiled in and can thus be removed. If these files caused a problem 
for you, just remove them from the list of SOURCES in iaccessible2.pri.

FYI, I have prepared a patch here that removes the uneeded files. This is 
targeted for dev though (and depends on another patch we only applied for dev), 
so it won't apply cleanly for 5.4 branch.

https://codereview.qt-project.org/#/c/104588/  (I would be happy if people with 
good COM (or IAccessible2) knowledge could give feedback on this).

Jan Arve


Fra: interest-bounces+jan-arve.saether=theqtcompany@qt-project.org 
interest-bounces+jan-arve.saether=theqtcompany@qt-project.org på vegne av 
Carsten Schneemann cschneem...@yahoo.com
Sendt: 26. januar 2015 08:58
Til: interest@qt-project.org
Emne: Re: [Interest] Building Qt5 with Intel C++ under Windows

Hi Thiago,

Thiago Macieira wrote:
 It's a missing #include, it has to be.

In fact a missing #define as it turned out... :-)

To make the long story short: the problem was that the win32-msvc2013
mkspec has -DWIN32 in it whereas win32-icc doesn't.

I'll write up the details under QTBUG-43778. Maybe WIN32 is missing on
purpose, I don't know...

Unfortunately, now qtbase compiles, but qtdeclarative doesn't. This
isn't too critical for me since I don't currently use it and can just
disable it. Apart from that I haven't looked into that issue in any
detail...

Carsten.


P.S.: Sorry for re-posting. Yahoo's web interface somehow messed up my
first mail :-S.

___
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] QStandardPaths::writableLocation(QStandardPaths::AppDataLocation) on OSX

2015-01-27 Thread Harri Pasanen
returns /Library/Application Support/appname
which is not user writable.

Seems like a bug, but perhaps this is intentional?

Harri


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


Re: [Interest] Handling various displays on mobile...

2015-01-27 Thread Alejandro Exojo
El Tuesday 27 January 2015, Jason H escribió:
 I've spec'd the text my QML ui in points, and that works well. But the
 problem comes when i calculate padding and offsets in pixels. It looks
 great on my device (Note 2) but on newer devices with higher DPIs, the UI
 looks un-padded.  I need a way to get the DPI so I can properly calculate
 spacing.
 
 How is that done in QML?

Try with the Screen QML type:

http://doc.qt.io/qt-5/qml-qtquick-window-screen.html#devicePixelRatio-attached-prop

Note that the property was added in Qt 5.4.

-- 
Alex (a.k.a. suy) | GPG ID 0x0B8B0BC2
http://barnacity.net/ | http://disperso.net
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest