Hello, Could test a Linux Ubuntu system and a Raspberry Pi (PiOS). The bug is not present. It's a Android only issue, likelly due to Qt repaint bug (there's many in Qt 6.9.0, like https://bugreports.qt.io/browse/QTBUG-133549,...hopefully it will fix this issue if resolved in a next Qt release)
Sorry, posted a reply while not being logged... I had the opportunity to do more testing: Both qwt 6.2.0 and 6.3.0 works fine with Qt 6.2.2 Both qwt 6.2.0 and 6.3.0 has the display issue with Qt 6.9.0 So this is definitely a regression due to Qt upgrade from 6.2.2 to 6.9.0. Jean
Hello, I'm planning to test Linux later, I'll let you know if the problem is visible here Did not try 6.3 with previous version of Qt, but I doubt it would have the bug as I see a similar issue even when not using Qwt (https://bugreports.qt.io/browse/QTBUG-136220). I's a Qt 6.9.0 issue I bet. But with Qwt, it really makes the whole widget not behave right. The only way I found to have the view be updated was to change phone orientation. Without Qwt, the screen ends up repainting itself when user...
Painting issue under Android with Qt 6.9.0
Just updated my environment to migrate to Qt 6.9 and Qwt 6.3.0 and I can now confirm it's fixed for good. Thanks a lot for this great library, Jean
This piece of code generates "error : Using object that is a temporary.". #include <string> #include <vector> #include <sstream> inline void MyStrCp( char* Dst, size_t DstSize, const char* Src ) { #ifdef WIN32 strcpy_s(Dst, DstSize, Src); #else strcpy(Dst, Src); #endif } class MyChannelInfo { public: MyChannelInfo() { } ~MyChannelInfo() { delete m_name; } MyChannelInfo( const char* name ) { m_name = new char[strlen(name)+1]; MyStrCp( m_name, strlen(name)+1, name ); } MyChannelInfo& operator=( const...
#include <memory> class MyClass { class MyClassPrivateData { public: int m_member; MyClassPrivateData& operator=( const MyClassPrivateData& priv ) { this->m_member = priv.m_member; return *this; } }; std::unique_ptr<MyClassPrivateData> m_data; public: MyClass() : m_data( new MyClassPrivateData() ) { } MyClass(const MyClass&) = delete; // warning : Member variable 'MyClass::m_data' is not assigned a value in 'MyClass::operator='. MyClass& operator=( const MyClass& time ) { if ( &time != this ) { (*m_data)...
This code generates what is likelly a false positive: #include <string> #define TYPE_1 "a" #define TYPE_2 "b" #define TYPE_3 "c" void Restore( const std::string& channel ) { if ( channel == TYPE_1 ) { } else if ( channel == TYPE_2 || channel == TYPE_3 ) { // common code for TYPE_2 and TYPE_3 if ( channel == TYPE_2 ) // reporting "warning : Opposite inner 'if' condition leads to a dead code block." { // specific code for TYPE_2 } else if ( channel == TYPE_3 ) { // specific code for TYPE_3 } } }