Re: [Interest] Squish for open source

2021-04-21 Thread Harri Porten

Hello Vadim,

Thanks for asking! We have provided non-commercial OSS projects with free 
licenses in the past. Please contact me off-list with information about 
your project. I'll see what can be done.


Harri.

On Mon, 19 Apr 2021, Vadim Peretokin wrote:


Following the news that Qt has acquired the excellent UI-based testing software 
Squish (https://www.qt.io/blog/quality-assurance-tools), could that offering be 
extended to
open source projects by QtC?

There's no real alternatives that I know of that can do UI-based testing for Qt 
Widgets projects - or if I haven't looked hard enough, happy to hear 
suggestions.

Best regards,
Vadim.




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


Re: [Interest] Queued signals lost in 5.15.0 (works in 5.12.5) (Windows)

2020-09-25 Thread Harri Porten

Hello Rainer,

On Thu, 24 Sep 2020, Rainer Wiesenfarth wrote:

I have a strange problem that for a certain queued signal/slot 
connection the signal is emitted, but the event does not reach the 
connected slot. This problem is reproducible in Qt 5.15.0, but does not 
occur in Qt 5.12.5. Unfortunately, the simple test program (see attached 
file) does not show the behavior.


Last time I saw something like this happening the bug was sought in Qt. 
But then found in the application :)


One of the QObjects lived in the wrong thread. Printing and comparing of 
QObject::thread() pointers helped to identify and fix the problem. A 
missing QObject::moveToThread() call iirc.


Harri.
___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] Windows 10 + native QFileDialog + QPrinter + some magic = application hangs

2017-12-21 Thread Harri Porten

On Wed, 20 Dec 2017, Rainer Wiesenfarth wrote:

I have a strange problem that is bugging me for a couple of days now. 
Although I think the chances are low to find someone who experienced the 
same issue, I would like to give it a try.


Customers of ours reported issues that look related. We consequently filed 
https://bugreports.qt.io/browse/QTBUG-49782 and reference it from our 
Knowledge Base[0].


Harri.

[0] 
https://kb.froglogic.com/display/KB/Automating+native+or+Qt+%28file%29+dialogs+in+Qt+applications#AutomatingnativeorQt%28file%29dialogsinQtapplications-Generalsolution%231Automatethedialogsvia{{nativeType%28%29}}



I was able to strip the interesting part of my application down to these lines:

  QString sProject = QFileDialog::getOpenFileName( this, tr( "Select Project 
File" ),
    m_sProjectFile, tr( "Project File (*.prj);;" "All Files (*.*)" ) );   // (1)

  QPrinter p;   // (2)

  sProject = QFileDialog::getOpenFileName( this, tr( "Select Project File" ),
      m_sProjectFile, tr( "Project File (*.prj);;" "All Files (*.*)" ) );   // 
(3)

Case 1: Running my application on Windows 10 (four different machines):
- (1) succeeds
- (2) succeeds
- (3) hangs the application in QWindowsNativeFileDialogBase::doExec() at 
m_fileDialog->Show(owner)

Case 2: Embedding the above snippet into a small sample application on Windows 
10:
- (1) to (3) all succeed

Case 3: Setting the QFileDialog::DontUseNativeDialog option on Windows 10:
- (1) to (3) all succeed

Case 4: Running my application on Windows 7 (several machines):
- (1) to (3) all succeed

I took a close look at the m_fileDialog in QWindowsNativeFileDialogBase for the 
Windows 10 case that gets stuck:
- at (1), m_fileDialog references a vtable in comdlg32.dll!const CFileOpenSave
- at (3), m_fileDialog references a vtable in 
OneCoreUAPCommonProxyStub.dll!0x...

So it seems to be related to Windows "umbrella" libraries, but I have no idea 
how. I looked even deeper into where m_fileDialog is getting assigned and found
the call to CoCreateInstance(), where CLSID_FileOpenDialog and 
IID_IFileOpenDialog is passed in both (1) and (3), but in (1) the comdlg32 
object is returned
while in (3) it is the OneCore... object.

My guess so far:
1. The constructor or destructor of QPrinter could lead to the replacement of 
the object behind CLSID_FileOpenDialog, but
2. this replacement not done always, but is triggered by the "some magic" part 
in my application that is executed before (1)

​Any ideas what the "​some magic" part could be? Unfortunately my application 
is quite complex and can not be stripped down easily...

​Cheers, Rainer

--
Software Engineer | Trimble Imaging Division
Rotebühlstraße 81 | 70178 Stuttgart | Germany
Office +49 711 22881 0 | Fax +49 711 22881 11
http://www.trimble.com/imaging/ | 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, Jürgen Kesper


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


Re: [Interest] Support for Visual Studio 2017

2017-02-23 Thread Harri Porten

On Thu, 23 Feb 2017, Tom Isaacson wrote:


It worked for me; I was able to run our VS2015 app in VS2017 with no problems.


I think Thiago meant something different: what if you are compiling your 
application with VS 2017 against a set of Qt libraries build with VS 2015? 
If that works flawlessly a big upgrade pain of the past would be gone.


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


Re: [Interest] Raster Engine Issues

2016-06-23 Thread Harri Porten

Hello Alper,

On Thu, 23 Jun 2016, Alper Sağlam wrote:

The issue is not-reproducible so running with the valgrind is not a way 
to go. Any new comment on raster engine bugs will make me happier. 


As I tried to suggest below: Valgrind may find issues even in the absence 
of crash.


Harri.




Thanks in advance. 

On Fri, Jun 10, 2016 at 11:08 AM Jean-Michaël Celerier 
 wrote:
  Also, -fsanitize=address ; -fsanitize=undefined.




On Fri, Jun 10, 2016 at 9:27 AM, Harri Porten  wrote:
  On Thu, 9 Jun 2016, Alper Sağlam wrote:

I am deailing with qt backtrace from a core file, it looks like it 
is not reproducible (sporadic) and happened three times in our environments. My 
findings
shows that some issues occurred in qt raster engine and qt text 
engine. I am pasting the bt to here and I just want to know that is there any 
known issues
(bugs or misuses) of raster engine, text engines and fonts.


  I suggest to run the application via Valgrind. It may report the root 
cause of the problem even for cases where the result is not crash.

  Harri.
  ___
  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] Raster Engine Issues

2016-06-10 Thread Harri Porten

On Thu, 9 Jun 2016, Alper Sağlam wrote:

I am deailing with qt backtrace from a core file, it looks like it is 
not reproducible (sporadic) and happened three times in our 
environments. My findings shows that some issues occurred in qt raster 
engine and qt text engine. I am pasting the bt to here and I just want 
to know that is there any known issues (bugs or misuses) of raster 
engine, text engines and fonts.


I suggest to run the application via Valgrind. It may report the root 
cause of the problem even for cases where the result is not crash.


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


Re: [Interest] Signal Slot Ordering (or Not)

2016-05-19 Thread Harri Porten

On Thu, 7 Apr 2016, Peter M. Groen wrote:


In a for-loop, I'm sending 10 signals directly in one burst, like so :

   for( int nCount = 0; nCount < number_of_signals; nCount++ )
   {
   std::cout << "[SignalSender::timerTimeOut] - "
 << QString( "Signal Sending. Timer : %1, Run : %2,
   Sequence : %3" ) .arg( timer_interval_msecs )
.arg( run_number )
.arg( nCount ).toStdString() << std::endl;
   emit signalSendSequence( timer_interval_msecs, run_number,
   nCount ); QCoreApplication::processEvents();
   }


The processEvents() call in the loop turns "one burst" into ten. Or worse.

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


Re: [Interest] Qt and 'FitNesse' acceptance testing framework

2015-11-09 Thread Harri Porten

On Mon, 9 Nov 2015, Ch'Gans wrote:


Any experience to share on using FitNesse with Qt? Or maybe you guys
use a different tool and/or approach?


BDD (Behavior-driven Development or Testing) might be an approach you'll 
like equally much. Features and scenarios are described in plain English 
(or about 60 other languages).


My colleague Reginald gave a talk on BDD at the Qt World Summit:

 https://www.youtube.com/watch?feature=player_embedded&v=7PAxf61hjoE

It was focussing on GUI testing but the approach works equally for 
functional non-GUI tests.


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


Re: [Interest] Survey: do you override QCoreApplication::notify? Why?

2015-04-16 Thread Harri Porten
On Wed, 15 Apr 2015, Thiago Macieira wrote:

> So, if you do override, do you:
> 1) use it to log exceptions that were caught?
> 2) use it to catch exceptions and continue execution?
> or use it to catch and abort?
> 3) log/profile/debug events being delivered?

We do something like 3)

> 4) filter events being delivered (remove from queue / compress)?
> 5) insert events somehow
> 6) something else (please explain)
>
> If you're doing #3, have you tried GammaRay? Is that notify() enabled for
> production builds?
>
> And additional question: do you need this for the main thread only, for
> auxiliary threads only or for all threads?

Only for the main thread. In fact, on the day the first event from another 
thread arrived we were caught be surprise :}

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


Re: [Interest] QVariantMap: constEnd() not equal to end()?

2015-03-23 Thread Harri Porten

On Fri, 20 Mar 2015, Aleksandr Mezin wrote:


Table::const_iterator i(table.constFind(name));
if (i != table.end()) {
    ...
}

Table is a typedef for QHash<...>

This code doesn't work as I expect with Qt 5.4.1 MSVC 2013.
The "if" is never entered, even when 'name' isn't found in the table.
But it starts to work after replacing "end()" with "constEnd()".
So, I guess, end() isn't equal to constEnd()? Is it an intended behavior?


Let's say it's undefined behavior. end() and constEnd() could return the 
same iterator. But it depends on the implementation as well as the state 
(shared or detached) of the QHash instance. Better don't mix the const and 
non-const iterator functions.


See

 http://doc.qt.io/qt-5/containers.html#implicit-sharing-iterator-problem

(and the whole chapter) for more details.

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


Re: [Interest] Qt 5.5 and Red Hat 5

2015-03-18 Thread Harri Porten
On Thu, 19 Mar 2015, Till Oliver Knoll wrote:

> As I see it the current issue (using a kernel feature which is not 
> present on an 8 years old RH 5) can be ignored. Qt 5 will never compile 
> for them, as it seems, since even when that feature in question would be 
> removed again, they would get past that point in compilation, but would 
> still hit problems with outdated (system) libraries.

William's case is just one out of many though. There are others willing to 
upgrade packages on their RH 5 systems. I've just had one customer 
following Christoph Cullmann's (of Kate fame) recipe this week:

  http://kate-editor.org/2014/12/22/qt-5-4-on-red-hat-enterprise-5/

Many EDA companies are still stuck to RHEL 5 as their standard (minimum) 
Linux platform. See these 2014/2015(!) statements:

  http://www.synopsys.com/Support/LI/SupportPlatform/Pages/PlatformsRoadmap.aspx
  
http://www.cadence.com/support/computing/Documents/Cadence_Platform_Support_Plan.pdf
  http://supportnet.mentorg.com/systemreqs/calibre.cfm?lang=en
  
http://www.ansys.com/staticassets/ANSYS/staticassets/support/platform-support-ansys-15.0-detailed-summary.pdf

for example. The Qt Company's sales people from the US will be able to 
confirm this I bet.

Granted, support can be dropped soon but development is still active and 
upgrades for developers and users won't happen that quickly.

At least a compilation from sources should be made possible imo.

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


Re: [Interest] Qt 5.5 and Red Hat 5

2015-03-18 Thread Harri Porten
On Wed, 18 Mar 2015, Thiago Macieira wrote:

> I'm not sure I will apply a fix to the main codebase since this is a 
> feature added for kernel 2.6.22, almost 8 years ago.

Still very much in use by certain industries who standardized on RH 5 for 
the time being. 8 years is not much time for the life time of classic Qt 
user's products.

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


Re: [Interest] Qt japanese onscreen keyboard

2015-01-16 Thread Harri Porten
On Fri, 16 Jan 2015, Bo Thorsen wrote:

> If not, then we'll show the normal ascii chars and do a conversion with
> the input. As I understand it, this is what the mobile world does?
> Setting the locale on a line edit to japanese and sending key events
> doesn't seem to give me any Japanese chars.

I am almost as clueless as you but I'll provide one hint that got me once 
going: QInputMethod :)

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


Re: [Interest] Questions about QML

2014-09-30 Thread Harri Porten
On Tue, 30 Sep 2014, Oleg Shparber wrote:

> 4. Is there a way to provide my own container type? Overloading [] with 
> Q_INVOKABLE does not work. I'd like to have a custom buffer type which I 
> can use as myBuffer[index].

[] is not a function in JavaScript. It's a property access. a[b] equates 
to a.b (leaving the type and possible values of 'b' aside).

With the regular QObject slot and property based approach you might not be 
able to model such a random index access. But how about you implement a 
thin wrapping layer in JavaScript? Through __defineGetter_ you should be 
able to forward property access attempts to a C++ slot internally.

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


Re: [Interest] what does and mean?

2014-01-02 Thread Harri Porten

On Thu, 2 Jan 2014, Rémi Faitout wrote:


See http://qt-project.org/doc/qt-4.8/richtext-html-subset.html

I suppose the tag is here to ease rich text recognition by the QTextEdit


Yes. There is a built-in recognition checking for other tags iirc but it 
may fail.


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