nobody wrote:
nobody wrote:
Hi,
I tried qt4.6.0-tp1 library with vlc.git then if vlc's messages dialog is open during the quit process it will crash the libqt4_plugin.dll qt4 module. Knowing that the messages dialog class is using getInstance() style with a per class global variable.
And where it did not cause a crash previously in using qt4.5.2 library.
Messages dialog source cpp file :
MessagesDialog *MessagesDialog::instance = NULL;
Header file :
public:
   static MessagesDialog * getInstance( intf_thread_t *p_intf )
   {
       if( !instance)
           instance = new MessagesDialog( p_intf );
       return instance;
   }
   static void killInstance()
   {
       delete instance;
       instance = NULL;
   }
Can this type of code be the problem? And why did it not previously in qt4.5.2 trigger this issue?

Thanks

Forgot to mention the only time it doesn't trigger this crash is when qt4.6.0-tp1 library is compiled without -qt-style-windowsvista -qt-style-windowsxp

Triggered also when preferences dialog is open which this type of dialog isn't using th getInstance() style. It is been called by PrefsDialog *p = new PrefsDialog( (QWidget *)p_intf->p_sys->p_mi, p_intf );

So am I missing something here?
Activating -qt-style-windowsvista caused this issue
Changing style to windowsxp, windows, motif, CDE, Plastique, Cleanlooks from simple preferences on the fly then quit will not trigger this crash. Only when style is windowsvista and with any external dialogs open vlc quit will trigger this type of crash.
Here's some gdb output:
Program received signal SIGSEGV, Segmentation fault.
[Switching to thread 5676.0x1970]
0x000000000c6965c8 in ?? ()
(gdb) bt
#0  0x000000000c6965c8 in ?? ()
#1  0x000000000f1af770 in ?? ()
#2  0x000000000bed1ef9 in ?? ()
#3  0xfeeefeeefeeefef6 in ?? ()
#4  0x0000000000000000 in ?? ()
(gdb) disass $pc-30 $pc+30
Dump of assembler code from 0xc6965aa to 0xc6965e6:
0x000000000c6965aa:     mov    %esp,%ebp
0x000000000c6965ac:     mov    %rcx,0x10(%rbp)
0x000000000c6965b0:     mov    0x10(%rbp),%rax
0x000000000c6965b4:     mov    (%rax),%rax
0x000000000c6965b7:     leaveq
0x000000000c6965b8: retq 0x000000000c6965b9: nop 0x000000000c6965ba: nop 0x000000000c6965bb: nop 0x000000000c6965bc: push %rbp
0x000000000c6965bd:     mov    %rsp,%rbp
0x000000000c6965c0:     mov    %rcx,0x10(%rbp)
0x000000000c6965c4:     mov    0x10(%rbp),%rax
0x000000000c6965c8:     mov    (%rax),%rax
0x000000000c6965cb:     leaveq
0x000000000c6965cc: retq 0x000000000c6965cd: nop 0x000000000c6965ce: nop 0x000000000c6965cf: nop 0x000000000c6965d0: push %rbp
0x000000000c6965d1:     mov    %rsp,%rbp
0x000000000c6965d4:     sub    $0x20,%rsp
0x000000000c6965d8:     mov    %rcx,0x10(%rbp)
0x000000000c6965dc:     mov    0x10(%rbp),%rax
0x000000000c6965e0:     mov    (%rax),%rax
0x000000000c6965e3:     test   %rax,%rax
End of assembler dump.
(gdb) info registers
rax            0xfeeefeeefeeefef6       -76843841185972490
rcx            0xfeeefeeefeeefef6       -76843841185972490
rdx            0x10a85cf0       279469296
rbx            0xc488cbc        206081212
rsp            0xf1af740        253425472
rbp            0xf1af740        253425472
rsi            0xf1afde0        253427168
rdi            0xf1afcc0        253426880
r8             0x0      0
r9             0x0      0
r10            0x7b     123
r11            0x105945f0       274286064
r12            0x0      0
r13            0x0      0
r14            0x0      0
r15            0x0      0
rip            0xc6965c8        0xc6965c8
eflags         0x10206  [ PF IF RF ]
cs             0x33     51
ss             0x2b     43
ds             0x2b     43
es             0x2b     43
fs             0x53     83
gs             0x2b     43
(gdb) print $pc
$1 = (void (*)()) 0xc6965c8

_______________________________________________
Qt4-preview-feedback mailing list
[email protected]
http://lists.trolltech.com/mailman/listinfo/qt4-preview-feedback

Reply via email to