Qt segfault, global disable painting



  • Hi All,

    preambula: Ubuntu 12.04 x64, gcc 4. 6.4 (4.7.3) x64, Qt 5.1.1 (or Qt 5.1.2 from trunk), v4l2 0.8 (or v4l2 1.0 from trunk), pjsip from trunk

    I try to update pjsip video devices by calling method pjmedia_vid_refresh(), that call v4l2 functions. And it was all done on a timer.

    pseudo
    @
    Widget::Widget()
    {
    startTimer(100);
    }

    Widget::timerEvent()
    {
    pjmedia_vid_refresh();
    }
    @

    And I have another gui on widget (buttons, lineedit etc) with different css for states (mouseover, pressed etc).
    When paint event was not dispatched its all ok. But when state changed(mouseover for example) - paint event was sended and crash occurs.

    i try to debug qt, but crash occurs in different spaces.

    It seems that when calling v4l2's functions it load own libraries and try do own work. But at the same time paint event was posted and for some reason "someone" is using the same memory that v4l2.

    I tried to google for some advice but ...

    I have idea disable all painting when "timer event" is processing, but i did not find any examples how should i do it, m.b install event filter for all widgets end with some flag check and accept or reject paint event.

    Can anyone help with this?


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.