> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] 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.

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Reply via email to