Re: [PATCH] MarbleDebug: don't use a class extending QIODevice as a null device

2017-04-20 Thread Stefan Fuchs
Hi again, Am 20.04.2017 um 23:18 schrieb Stefan Fuchs: >>> void MarbleDebug::setEnabled(bool enabled) >>> { >>> QLoggingCategory::setFilterRules(QString("marble.debug=%1").arg(enabled >>> ? "true", "false")); >>> } >>> >>> and likely remove isEnabled() as it's not needed? >> Sounds good, but d

Re: [PATCH] MarbleDebug: don't use a class extending QIODevice as a null device

2017-04-20 Thread Stefan Fuchs
Hi Lubomir, Am 19.04.2017 um 19:37 schrieb Thiago Macieira: > On quarta-feira, 19 de abril de 2017 03:45:46 PDT Lubomir I. Ivanov wrote: >> void MarbleDebug::setEnabled(bool enabled) >> { >> QLoggingCategory::setFilterRules(QString("marble.debug=%1").arg(enabled >> ? "true", "false")); >> } >>

RE: [PATCH] MarbleDebug: don't use a class extending QIODevice as a null device

2017-04-20 Thread Kai Koehne
> -Original Message- > From: Thiago Macieira [mailto:thi...@kde.org] > [...] > Sounds good, but do we need this setEnabled() in the first place? Is it used > anywhere? It's meant to be used by a filter installed by QLoggingCategory::installFilter (see the example http://doc.qt.io/qt-5/qlo

Re: [PATCH] MarbleDebug: don't use a class extending QIODevice as a null device

2017-04-19 Thread Thiago Macieira
On quarta-feira, 19 de abril de 2017 03:45:46 PDT Lubomir I. Ivanov wrote: > void MarbleDebug::setEnabled(bool enabled) > { > QLoggingCategory::setFilterRules(QString("marble.debug=%1").arg(enabled > ? "true", "false")); > } > > and likely remove isEnabled() as it's not needed? Sounds good, b

RE: [PATCH] MarbleDebug: don't use a class extending QIODevice as a null device

2017-04-19 Thread Kai Koehne
> -Original Message- > From: Thiago Macieira [mailto:thi...@kde.org] > Sent: Tuesday, April 18, 2017 6:36 PM > To: Stefan Fuchs > Cc: Lubomir I. Ivanov ; Subsurface Mailing List > ; Kai Koehne > Subject: Re: [PATCH] MarbleDebug: don't use a class extending QI

Re: [PATCH] MarbleDebug: don't use a class extending QIODevice as a null device

2017-04-19 Thread Lubomir I. Ivanov
oehne >> Subject: Re: [PATCH] MarbleDebug: don't use a class extending QIODevice as >> a null device >> >> Em terça-feira, 18 de abril de 2017, às 09:23:12 PDT, Stefan Fuchs escreveu: >> > /home/stefan/Entwicklung/Subsurface/marble- >> source/src/lib/marb

Re: [PATCH] MarbleDebug: don't use a class extending QIODevice as a null device

2017-04-18 Thread Thiago Macieira
Em terça-feira, 18 de abril de 2017 00:08:57 PDT você escreveu: > I will try it this morning. > Two remaining questions: > - What is the default state now if we don't set it explicitly? Enabled true > or false? Depends on the argument passed in the macro. With QtDebugMsg, it defaults to enabled;

Re: [PATCH] MarbleDebug: don't use a class extending QIODevice as a null device

2017-04-18 Thread Thiago Macieira
Em terça-feira, 18 de abril de 2017, às 09:23:12 PDT, Stefan Fuchs escreveu: > /home/stefan/Entwicklung/Subsurface/marble-source/src/lib/marble/MarbleDebug > .cpp:27:53: error: passing 'const QLoggingCategory' as 'this' argument of > 'void QLoggingCategory::setEnabled(QtMsgType, bool)' discards qua

Re: [PATCH] MarbleDebug: don't use a class extending QIODevice as a null device

2017-04-18 Thread Stefan Fuchs
Hello Lubomir, Am 18.04.2017 um 16:00 schrieb Lubomir I. Ivanov: > i must admit i followed Thiago's suggestions blindly. > Thiago, do you have an idea why this happens? > > the macro: > #define mDebug qCDebug(Marble::loggingCategory) > > expands calls like this one: > mDebug() << "innerRing: size

Re: [PATCH] MarbleDebug: don't use a class extending QIODevice as a null device

2017-04-18 Thread Lubomir I. Ivanov
On 18 April 2017 at 16:59, Stefan Fuchs wrote: > Am 18.04.2017 um 15:54 schrieb Lubomir I. Ivanov: > > Sorry, I'm once again lost... > I have multiple compile issues like this: > > /home/stefan/Entwicklung/Subsurface/marble-source/src/lib/marble/geodata/data/GeoDataPolygon.cpp: > In member functio

Re: [PATCH] MarbleDebug: don't use a class extending QIODevice as a null device

2017-04-18 Thread Lubomir I. Ivanov
On 18 April 2017 at 16:47, Stefan Fuchs wrote: > Hello Lubomir, > > Am 18.04.2017 um 13:22 schrieb Lubomir I. Ivanov: > > here are the updated Marble files and a patch diff for review. > i can't build Marble to test these changes ATM though. > > Looks good, so long as "Marble::category" isn't too

Re: [PATCH] MarbleDebug: don't use a class extending QIODevice as a null device

2017-04-18 Thread Dirk Hohndel
On Tue, Apr 18, 2017 at 02:22:52PM +0300, Lubomir I. Ivanov wrote: > On 18 April 2017 at 10:08, Stefan Fuchs wrote: > > Hello Lubomir, > > > > > > Am 17.04.2017 um 23:53 schrieb Lubomir I. Ivanov: > > > > here are the updated Marble files and a patch diff for review. > > i can't build Marble to te

Re: [PATCH] MarbleDebug: don't use a class extending QIODevice as a null device

2017-04-18 Thread Lubomir I. Ivanov
On 18 April 2017 at 10:08, Stefan Fuchs wrote: > Hello Lubomir, > > > Am 17.04.2017 um 23:53 schrieb Lubomir I. Ivanov: > > here are the updated Marble files and a patch diff for review. > i can't build Marble to test these changes ATM though. > > Looks good, so long as "Marble::category" isn't to

Re: [PATCH] MarbleDebug: don't use a class extending QIODevice as a null device

2017-04-18 Thread Stefan Fuchs
Hello Lubomir, Am 17.04.2017 um 23:53 schrieb Lubomir I. Ivanov: >>> here are the updated Marble files and a patch diff for review. >>> i can't build Marble to test these changes ATM though. >> Looks good, so long as "Marble::category" isn't too generic a name. >> > ok, i've renamed it to Marable

Re: [PATCH] MarbleDebug: don't use a class extending QIODevice as a null device

2017-04-17 Thread Thiago Macieira
On segunda-feira, 17 de abril de 2017 14:53:12 PDT Lubomir I. Ivanov wrote: > Stefan, could you please try building and running the attached patch? > you can toggle the debugging with MarbleDebug::setEnabled(true/false) > e.g. from the Subsurface source code. Or by setting in your environment: QT

Re: [PATCH] MarbleDebug: don't use a class extending QIODevice as a null device

2017-04-17 Thread Lubomir I. Ivanov
On 18 April 2017 at 00:47, Thiago Macieira wrote: > On segunda-feira, 17 de abril de 2017 14:41:13 PDT Lubomir I. Ivanov wrote: >> On 18 April 2017 at 00:18, Thiago Macieira wrote: >> > On segunda-feira, 17 de abril de 2017 14:10:28 PDT Lubomir I. Ivanov > wrote: >> >> i guess we could just do a:

Re: [PATCH] MarbleDebug: don't use a class extending QIODevice as a null device

2017-04-17 Thread Thiago Macieira
On segunda-feira, 17 de abril de 2017 14:41:13 PDT Lubomir I. Ivanov wrote: > On 18 April 2017 at 00:18, Thiago Macieira wrote: > > On segunda-feira, 17 de abril de 2017 14:10:28 PDT Lubomir I. Ivanov wrote: > >> i guess we could just do a: > >> void MarbleDebug::setEnabled(bool enabled) > >> { >

Re: [PATCH] MarbleDebug: don't use a class extending QIODevice as a null device

2017-04-17 Thread Lubomir I. Ivanov
On 18 April 2017 at 00:18, Thiago Macieira wrote: > On segunda-feira, 17 de abril de 2017 14:10:28 PDT Lubomir I. Ivanov wrote: >> i guess we could just do a: >> void MarbleDebug::setEnabled(bool enabled) >> { >> Marble::loggingCategory.setEnabled(enabled); >> MarbleDebug::m_enabled = enab

Re: [PATCH] MarbleDebug: don't use a class extending QIODevice as a null device

2017-04-17 Thread Thiago Macieira
On segunda-feira, 17 de abril de 2017 14:10:28 PDT Lubomir I. Ivanov wrote: > i guess we could just do a: > void MarbleDebug::setEnabled(bool enabled) > { > Marble::loggingCategory.setEnabled(enabled); > MarbleDebug::m_enabled = enabled; > } I'd go a little further and drop the m_enabled v

Re: [PATCH] MarbleDebug: don't use a class extending QIODevice as a null device

2017-04-17 Thread Lubomir I. Ivanov
On 18 April 2017 at 00:02, Lubomir I. Ivanov wrote: > On 17 April 2017 at 23:46, Thiago Macieira wrote: >> This disables the debug output for the default category, that is, every user >> of qDebug(). >> > > yep, i later figured that might happen. > >> I was suggesting turning mDebug() into qCDebu

Re: [PATCH] MarbleDebug: don't use a class extending QIODevice as a null device

2017-04-17 Thread Lubomir I. Ivanov
On 17 April 2017 at 23:46, Thiago Macieira wrote: > This disables the debug output for the default category, that is, every user > of qDebug(). > yep, i later figured that might happen. > I was suggesting turning mDebug() into qCDebug(...). > > // in a header > namespace Marble { > Q_DECLARE

Re: [PATCH] MarbleDebug: don't use a class extending QIODevice as a null device

2017-04-17 Thread Thiago Macieira
On segunda-feira, 17 de abril de 2017 13:24:26 PDT Lubomir I. Ivanov wrote: > On 17 April 2017 at 22:29, Thiago Macieira wrote: > > On segunda-feira, 17 de abril de 2017 12:01:48 PDT Lubomir I. Ivanov wrote: > >> QDebug mDebug() > >> > >> { > >> > >> return QDebug( QtDebugMsg ); // or "re

Re: [PATCH] MarbleDebug: don't use a class extending QIODevice as a null device

2017-04-17 Thread Lubomir I. Ivanov
On 17 April 2017 at 22:29, Thiago Macieira wrote: > On segunda-feira, 17 de abril de 2017 12:01:48 PDT Lubomir I. Ivanov wrote: >> QDebug mDebug() >> { >> return QDebug( QtDebugMsg ); // or "return qDebug();" >> } >> >> which will essentially enable debug output for everything in Marble, >> u

Re: [PATCH] MarbleDebug: don't use a class extending QIODevice as a null device

2017-04-17 Thread Thiago Macieira
On segunda-feira, 17 de abril de 2017 12:01:48 PDT Lubomir I. Ivanov wrote: > QDebug mDebug() > { > return QDebug( QtDebugMsg ); // or "return qDebug();" > } > > which will essentially enable debug output for everything in Marble, > until we write a dummy Class with an overloaded << operator

Re: [PATCH] MarbleDebug: don't use a class extending QIODevice as a null device

2017-04-17 Thread Stefan Fuchs
Hello Lubomir, Am 17.04.2017 um 21:01 schrieb Lubomir I. Ivanov: > your best bet is to change the function to this: > > QDebug mDebug() > { > return QDebug( QtDebugMsg ); // or "return qDebug();" > } > > which will essentially enable debug output for everything in Marble, > until we write a d

Re: [PATCH] MarbleDebug: don't use a class extending QIODevice as a null device

2017-04-17 Thread Lubomir I. Ivanov
On 17 April 2017 at 21:04, Stefan Fuchs wrote: > Hello Lubomir, hello All, > > Am 09.04.2017 um 22:15 schrieb Lubomir I. Ivanov: > > > I applied the patch, continued testing and now have new results: > I don't have a "zombie" Subsurface.exe any more every ~10th startup but I > see a "real" crash.

Re: [PATCH] MarbleDebug: don't use a class extending QIODevice as a null device

2017-04-17 Thread Stefan Fuchs
Hello Lubomir, hello All, Am 09.04.2017 um 22:15 schrieb Lubomir I. Ivanov: > From: "Lubomir I. Ivanov" > > For some reason on Windows 10 the NullDevice class approach > causes an infinite loop because QtCore cannot obtain a mutex lock > (ntdll.dll!_NtWaitForSingleObject) for the text stream. > >

Re: [PATCH] MarbleDebug: don't use a class extending QIODevice as a null device

2017-04-09 Thread Thiago Macieira
Em domingo, 9 de abril de 2017, às 13:15:17 PDT, Lubomir I. Ivanov escreveu: > From: "Lubomir I. Ivanov" > > For some reason on Windows 10 the NullDevice class approach > causes an infinite loop because QtCore cannot obtain a mutex lock > (ntdll.dll!_NtWaitForSingleObject) for the text stream. >