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 45801429.3090800@sun.com
Whole thread Raw
In response to Re: pgadmin3-1.6.1 - Bus Error (core dumped)  (Dave Page <dpage@postgresql.org>)
Responses Re: pgadmin3-1.6.1 - core dumped - Work around
List pgadmin-hackers
> 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
        }^






pgadmin-hackers by date:

Previous
From: Zdenek Kotala
Date:
Subject: Re: pgagent linker problem
Next
From: Dhanaraj M
Date:
Subject: Re: pgadmin3-1.6.1 - core dumped - Work around