Problem is like passing from disconnected state to PJSIP_TSX_STATE_TERMINATED.. On Fri, Feb 19, 2010 at 3:44 PM, P.Muge Ersoy <muge.ersoy at gmail.com> wrote: > Hi; > I create QThread from main thread of QT like below... I know the problems > from previous pjsip entries.. But still have a crash after i close the > call.. > > void PjsipPollThread::run() > { > pj_thread_desc initdec; > pj_thread_t* thread = 0; > > if (!pj_thread_is_registered() && > pj_thread_register("PjsipPollThread_run", initdec, &thread )!=PJ_SUCCESS) > return; > > while(isStackInit()) { > pjsua_handle_events(10); > > } > } > > > On Fri, Feb 19, 2010 at 3:15 PM, Peter Lukac <p.lukac at emtest.sk> wrote: > >> Hi >> If i understand you want change ui from other thread ? >> You can't do this Only from main Qt thread you can do it. >> If you want change widgets from other threads you have to create own Event >> like MyEvent and post it with method QApplication::postEvent from you >> thread >> and then handle this event in main Qt thread with method >> bool eventFilter ( QObject * watched, QEvent * event ) and do what you >> want. >> >> look at Qt documentation for more info... >> >> >> On Friday 19 February 2010 01:26:58 pm P.Muge Ersoy wrote: >> > Hi Benny; >> > >> > I am trying to integrate Qt and pjsip .. I created QT thread to poll the >> > pjsua handle events... When i catch the call back on_call_state >> > PJSIP_INV_STATE_DISCONNECTED, i am changing the Qt gui .. But >> unfortunately >> > after a while like 2 or 3 seconds.. pjsip gives error >> > (*inv_state_handler[inv->state])(inv, e); Below is the call stack >> > >> > 2d646f6d() >> > >> > > Qtpjsip.exe!mod_inv_on_tsx_state(pjsip_transaction * >> tsx=0x02b055d4, >> > >> > pjsip_event * e=0x0342fd54) Line 562 + 0x17 bytes C >> > Qtpjsip.exe!pjsip_dlg_on_tsx_state(pjsip_dialog * dlg=0x02cbb32c, >> > pjsip_transaction * tsx=0x02b055d4, pjsip_event * e=0x0342fd54) Line >> 1907 >> > + 0x1a bytes C++ >> > Qtpjsip.exe!mod_ua_on_tsx_state(pjsip_transaction * tsx=0x02b055d4, >> > pjsip_event * e=0x0342fd54) Line 179 + 0x11 bytes C >> > Qtpjsip.exe!tsx_set_state(pjsip_transaction * tsx=0x02b055d4, >> > pjsip_tsx_state_e state=PJSIP_TSX_STATE_TERMINATED, pjsip_event_id_e >> > event_src_type=PJSIP_EVENT_TIMER, void * event_src=0x02b056d8) Line >> 1109 + >> > 0x13 bytes C >> > Qtpjsip.exe!tsx_on_state_completed_uac(pjsip_transaction * >> > tsx=0x02b055d4, pjsip_event * event=0x0342fdac) Line 2936 + 0x14 bytes >> > C Qtpjsip.exe!tsx_timer_callback(pj_timer_heap_t * theap=0x02aafe20, >> > pj_timer_entry * entry=0x02b056d8) Line 1056 + 0x10 bytes C >> > Qtpjsip.exe!pj_timer_heap_poll(pj_timer_heap_t * ht=0x02aafe20, >> > pj_time_val * next_delay=0x0342fe0c) Line 518 + 0x10 bytes C >> > Qtpjsip.exe!pjsip_endpt_handle_events2(pjsip_endpoint * >> > endpt=0x02aafc7c, const pj_time_val * max_timeout=0x0342fe38, unsigned >> int >> > * p_count=0x0342fe40) Line 690 + 0x10 bytes C++ >> > Qtpjsip.exe!pjsua_handle_events(unsigned int msec_timeout=10) Line >> > 1417 + 0x14 bytes C >> > Qtpjsip.exe!PjsipPollThread::run() Line 29 + 0x7 bytes C++ >> > QtCored4.dll!QThreadPrivate::start(void * arg=0x01689c4c) Line 235 >> > C++ >> > >> > >> > It always gives the address 2d646f6d ... >> > >> > Do you have any idea why this happens? ... Is it QT Pjsip integration >> > issue.. ? >> > >> > Regards >> > Muge >> >> >> _______________________________________________ >> Visit our blog: http://blog.pjsip.org >> >> pjsip mailing list >> pjsip at lists.pjsip.org >> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20100219/68880976/attachment-0001.html>