Re: Crash during displaying drop-down menu for server

Поиск
Список
Период
Сортировка
От Dave Page
Тема Re: Crash during displaying drop-down menu for server
Дата
Msg-id E7F85A1B5FF8D44C8A1AF6885BC9A0E4CC3263@ratbert.vale-housing.co.uk
обсуждение исходный текст
Ответ на Crash during displaying drop-down menu for server  (Tomasz Rybak <bogomips@post.pl>)
Ответы Re: Crash during displaying drop-down menu for  (Tomasz Rybak <bogomips@post.pl>)
Список pgadmin-hackers

> -----Original Message-----
> From: pgadmin-hackers-owner@postgresql.org
> [mailto:pgadmin-hackers-owner@postgresql.org] On Behalf Of
> Tomasz Rybak
> Sent: 06 October 2005 19:18
> To: pgAdmin Hackers
> Subject: [pgadmin-hackers] Crash during displaying drop-down
> menu for server
>
> I updated my sources to 4512, compiled and installed.
> When I run pgAdmin, and try to right-click on server
> in databases tree, pgAdmin crashes.
>
> After little debugging I discovered, that problem is in
> src/main/events.cpp, frmMain::doPopup.
>
> pgAdmin crashes in line 466:
> if (mil.Item(newItemPos)->GetData()->GetId() == newItem->GetId())
>
> It's caused because newItem is NULL, and it isn't received in line 458
> wxMenuItem
> *newItem=treeContextMenu->FindItem(newMenuFactory->GetId());
> What's strange, wxASSERT from next line isn't even called (at
> least not
> under GDB). I compiled using standard Debian setting, only added -ggdb
> for compiler and removed dh_strip from pkg/debian/rules.
>
> Message from GDB:
> #0  0x0807a083 in frmMain::doPopup (this=0x87680f0, win=0x8d0c640,
> point=
>       {x = 145, y = 43}, object=0x8699340) at ./main/events.cpp:466
> 466             if (mil.Item(newItemPos)->GetData()->GetId() ==
> newItem->GetId())
>
> When I double-click on database in tree view (so pgAdmin is connected
> to it) and after that I right-click on it's entry, pgAdmin doesn't
> crash.

Yes, I can confirm this on Windows. I think the problem actually comes
from line 458:

    wxMenuItem
*newItem=treeContextMenu->FindItem(newMenuFactory->GetId());
    wxASSERT(newItem);

Where newItem is null if not connected to the server. I'm not sure how
to fix this - Andreas, can you look at it please?

Thanks, Dave.

В списке pgadmin-hackers по дате отправления:

Предыдущее
От: svn@pgadmin.org
Дата:
Сообщение: SVN Commit by dpage: r4518 - in trunk/pgadmin3: pkg/win32/src src
Следующее
От: svn@pgadmin.org
Дата:
Сообщение: SVN Commit by dpage: r4519 - trunk/pgadmin3/src/ui