Sorry for the wrong work around.
But it crahes in this step...
if (s->GetConnected() && s->GetConnection()->GetHost() == conn->GetHost() && s->GetConnection()->GetPort() == conn->GetPort())^M I think 'conn' is destroyed already... or some other problem.

Any idea??

thanks
dhanaraj

Dhanaraj M wrote:


Well, again the trace appears to show that frmQuery::OnChangeConnection is in the stack - have you even touched the select connection combo box?

One thing you might try is changing your GTK theme. We have had odd reports on some Linuxes that using certain themes will result in GTK errors on the console and sometimes a crash.


Hi Dave

I got the work around for the crash.
I am trying to fix this problem.
I think the problem is not with pgAdmin.

This is the flow of the control during the crash..

After opening the query tool...
src/base/pgConnBase.cpp:
   pgConnBase::pgConnBase(
   pgSetBase *pgConnBase::ExecuteSet
src/frm/frmQuery.cpp
   void frmQuery::OnChangeConnection(


After closing the query tool...
src/base/pgConnBase.cpp
   void pgConnBase::Close()
src/frm/frmQuery.cpp
   void frmQuery::OnChangeConnection(
(IS IT THE RIGHT CALL??????)

This is not the final solution, because after closing this query tool
Add server wnd is opened. But no crash!!
I will have to do more tests and get back to you..
Any comments??

Work around
===========

int dlgSelectConnection::Go(pgConn *conn, ctlComboBoxFix *cb)
{
   cbConnection=cb;

       if (mainForm != NULL)
       {
treeObjectIterator servers(mainForm->GetBrowser(), mainForm->GetServerCollection());^M
               pgServer *s;^M

               while ((s=(pgServer*)servers.GetNextObject()) != 0)^M
               {

                       cbServer->Append(s->GetIdentifier(), (void*)s);

+                        if(s->GetConnected())
+                           { continue;}

if (s->GetConnected() && s->GetConnection()->GetHost() == conn->GetHost() && s->GetConnection()->GetPort() == conn->GetPort())^M
                       {
cbServer->SetSelection(cbServer->GetCount()-1);^M
                                remoteServer = s;^M
                       }^M
               }    ^M
               cbServer->SetFocus();^M
       }^






---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
      choose an index scan if your joining column's datatypes do not
      match



---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

              http://www.postgresql.org/docs/faq

Reply via email to