Qt4: eventos do temporizador não resolvidos

Um mini arquivo de amostramain.cpp:

#include <iostream>
#include <QCoreApplication>

class MyApp : public QCoreApplication
{
private:
    int m_idtimer;

public:
    MyApp(int nargs, char* argc[]) : QCoreApplication(nargs, argc)
    {
        m_idtimer = startTimer(3000); // 3 segs.
    }

protected:
    void timerEvent(QTimerEvent* e)
    {
        char c = '\0';

        std::cout << "timerEvent" << std::endl;
        std::cin >> c;

        if (c == 'q') {
            killTimer(m_idtimer);
            quit();
        }
    }
};

int main(int nargs, char* argc[])
{
    MyApp app(nargs, argc);

    return app.exec();
}

Mini extraMakefile:

LDFLAGS = -I/usr/include/qt4 -I/usr/include/qt4/QtCore
LDLIBS = -lQtCore

Compilação e execução:

$ make main
g++   -I/usr/include/qt4/QtCore  main.cpp  -lQtCore -o main
$ ./main
timerEvent
1
timerEvent
2
timerEvent
3
timerEvent
q
$

Ok, então, minha pergunta. Eu fiz esta amostra com o objetivo de testar se os eventos do timer são cumulativos.

Quando eu executar omain programa, o próximo ocorre:

o primeirotimerEvent mensagem é mostrada após 3 segundos, etimerEvent() aguarda um personagem.Eu pressiono1 imediatamente.3 segundos depois, o segundotimerEvent mensagem aparecer (como esperado).Aguardo alguns segundos (15 ou mais) e pressiono2A terceira mensagem é mostrada imediatamente (um evento do temporizador acumulado).Eu pressiono3 imediatamente.E 3 segundos depois aparece a quarta mensagem (não há mais eventos do temporizador acumulados).Eu pressionoq e o programa termina.

Pergunta: Por que não há mais eventos temporizados acumulados? Esse comportamento depende da plataforma?

PD: Minha versão do Qt é 4.8, meu SO Ubuntu 13.04 e meu kernel (linux) 3.8.0-19 genérico. O sistema gráfico em execução é o Gnome 3.

questionAnswers(1)

yourAnswerToTheQuestion