-
Notifications
You must be signed in to change notification settings - Fork 61
Description
Candle crashes without opening a window on Windows 10. I found the event in the event log. It works fine on desktop but always crashes on a laptop. It will not work to install Qt on a laptop and build the application.
Exception code: 0xc0000005
Error offset: 0x000000000000414c
Primary analysis in the disassembler showed the following location:
.text:0000000000404120 sub_404120 proc near
.text:0000000000404120
.text:0000000000404120 var_20 = dword ptr -20h
.text:0000000000404120 var_1C = dword ptr -1Ch
.text:0000000000404120
.text:0000000000404120 push rdi
.text:0000000000404121 push rsi
.text:0000000000404122 push rbx
.text:0000000000404123 sub rsp, 30h
.text:0000000000404127 mov rbx, cs:_ZN7QWidget4moveERK6QPoint ; QWidget::move(QPoint const&)
.text:000000000040412E mov rax, [rcx+38h]
.text:0000000000404132 lea rsi, [rsp+48h+var_20]
.text:0000000000404137 mov rdi, rcx
.text:000000000040413A mov rcx, [rax+90h]
.text:0000000000404141 mov rax, [rax+130h]
.text:0000000000404148 mov rdx, [rcx+28h]
.text:000000000040414C mov r8, [rax+28h] <<<<<<<<
.text:0000000000404150 mov eax, [r8+1Ch]
.text:0000000000404154 sub eax, [r8+14h]
I found this place by the code that calls this function. Also, to narrow the search, I noticed the presence of QWidget::move
As far as I understand it is this function:
void frmMain::placeVisualizerButtons()
{
ui->cmdIsometric->move(ui->glwVisualizer->width() - ui->cmdIsometric->width() - 8, 8);
ui->cmdTop->move(ui->cmdIsometric->geometry().left() - ui->cmdTop->width() - 8, 8);
ui->cmdLeft->move(ui->glwVisualizer->width() - ui->cmdLeft->width() - 8, ui->cmdIsometric->geometry().bottom() + 8);
ui->cmdFront->move(ui->cmdLeft->geometry().left() - ui->cmdFront->width() - 8, ui->cmdIsometric->geometry().bottom() + 8) ;
ui->cmdFit->move(ui->glwVisualizer->width() - ui->cmdFit->width() - 8, ui->cmdLeft->geometry().bottom() + 8);
}
Most likely the reason is glwVisualizer, which for some reason does not want to initialize.