Re: pgadmin3-1.6.1 - core dumped - Work around - Mailing list pgadmin-hackers
From | Dhanaraj M |
---|---|
Subject | Re: pgadmin3-1.6.1 - core dumped - Work around |
Date | |
Msg-id | 45828A25.60105@sun.com Whole thread Raw |
In response to | Re: pgadmin3-1.6.1 - core dumped - Work around (Dave Page <dpage@postgresql.org>) |
Responses |
Re: pgadmin3-1.6.1 - core dumped - Work around
|
List | pgadmin-hackers |
Hi Zdenek, I tested this and still both problems exist (Add server and query tool -core dump) Can you test it once? Dave Page wrote: > Zdenek Kotala wrote: > >>> I'm still not sure how you're getting into that code when you close >>> the form though... >> >> >> The root cause is destructor of frmQuery dialog. It removes all >> connection from combo box exclude last item - "new connection". Each >> deletion invoke frmQuery::OnChangeConnection event and the >> OnChangeConnection method invokes "new connection dialog" in the last >> step. And because there are some empty combo boxes on this dialog, >> gtk generates core. > > > Ah, of course - well spotted. > >> My suggestion is disable event generation for cbConnection in the >> destructor. > > > Agreed. Can one or both of you test the attached patch please? > > Thanks, Dave. > >------------------------------------------------------------------------ > >Index: frmQuery.cpp >=================================================================== >--- frmQuery.cpp (revision 5791) >+++ frmQuery.cpp (working copy) >@@ -62,7 +62,6 @@ > BEGIN_EVENT_TABLE(frmQuery, pgFrame) > EVT_ERASE_BACKGROUND( frmQuery::OnEraseBackground) > EVT_SIZE( frmQuery::OnSize) >- EVT_COMBOBOX(CTRLID_CONNECTION, frmQuery::OnChangeConnection) > EVT_CLOSE( frmQuery::OnClose) > EVT_SET_FOCUS( frmQuery::OnSetFocus) > EVT_MENU(MNU_NEW, frmQuery::OnNew) >@@ -280,6 +279,7 @@ > outputPane->AddPage(msgResult, _("Messages")); > outputPane->AddPage(msgHistory, _("History")); > >+ this->Connect(CTRLID_CONNECTION, wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler(frmQuery::OnChangeConnection)); > sqlQuery->Connect(wxID_ANY, wxEVT_SET_FOCUS,wxFocusEventHandler(frmQuery::OnFocus)); > sqlResult->Connect(wxID_ANY, wxEVT_SET_FOCUS, wxFocusEventHandler(frmQuery::OnFocus)); > msgResult->Connect(wxID_ANY, wxEVT_SET_FOCUS, wxFocusEventHandler(frmQuery::OnFocus)); >@@ -369,6 +369,7 @@ > sqlResult->Disconnect(wxID_ANY, wxEVT_SET_FOCUS, wxFocusEventHandler(frmQuery::OnFocus)); > msgResult->Disconnect(wxID_ANY, wxEVT_SET_FOCUS, wxFocusEventHandler(frmQuery::OnFocus)); > msgHistory->Disconnect(wxID_ANY, wxEVT_SET_FOCUS, wxFocusEventHandler(frmQuery::OnFocus)); >+ this->Disconnect(CTRLID_CONNECTION, wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler(frmQuery::OnChangeConnection)); > > if (mainForm) > mainForm->RemoveFrame(this); >@@ -632,10 +633,6 @@ > > void frmQuery::OnChangeConnection(wxCommandEvent &ev) > { >- // On Solaris, this event seems to get fired when the form closes(!!) >- if(!IsVisible()) >- return; >- > unsigned int sel=cbConnection->GetCurrentSelection(); > if (sel == cbConnection->GetCount()-1) > { > > >------------------------------------------------------------------------ > > >---------------------------(end of broadcast)--------------------------- >TIP 1: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly > >
pgadmin-hackers by date: