Re: Ticket 3: groups of servers - Mailing list pgadmin-hackers

From Dave Page
Subject Re: Ticket 3: groups of servers
Date
Msg-id o2z937d27e11004230600kddf115dle0e57786b5a3c99a@mail.gmail.com
Whole thread Raw
In response to Re: Ticket 3: groups of servers  (Guillaume Lelarge <guillaume@lelarge.info>)
Responses Re: Ticket 3: groups of servers  (Guillaume Lelarge <guillaume@lelarge.info>)
List pgadmin-hackers
On Thu, Apr 22, 2010 at 8:26 PM, Guillaume Lelarge
<guillaume@lelarge.info> wrote:
> Well, we didn't do it for the actual Servers node. I don't think we
> should do it for this one.

Right - that's why I wasn't sure. And now that groups are root nodes,
it seems even less important.

> Finally, I had time to work on this. I changed my patch so that it
> follows what you expected to see. I was not really able to reproduce the
> problem you explain above after my changes.
>
> Can you try this last one? Thanks.

Still seeing a crash on OSX, but mostly I think it's good now. Here's
what happened:

- I cleared my prefs file so I just had 4 servers detected and added
to the 'Servers' group at startup.

- I moved 3 of the servers to a new 'PostgreSQL' group.

- I moved 1 server to a new 'Advanced Server' group.

At this point I had three groups visible:

Servers (0)
PostgreSQL (3)
  - Server 1
  - Server 2
  - Server 3
Advanced Server (1)
  Server 4

Gripe 1: I think the Servers group should be hidden if it's empty. In
previous versions it didn't really matter as the first thing you'd do
is add a server. Now though, it might remain empty forever.

Gripe 2: I think the groups should be shown in alphabetical order.
Should be a one-line change :-)

- I then right-clicked Server 4 and selected Properties

Gripe 3: pgAdmin crashes reliably at this point:

Thread 0 Crashed:  Dispatch queue: com.apple.main-thread
0   pgAdmin3-Debug                    0x00141fe5
dlgServer::dlgServer(pgaFactory*, frmMain*, pgServer*) + 2725
1   pgAdmin3-Debug                    0x00142307
pgServerFactory::CreateDialog(frmMain*, pgObject*, pgObject*) + 55
2   pgAdmin3-Debug                    0x0011ae59
dlgProperty::CreateDlg(frmMain*, pgObject*, bool, pgaFactory*) + 201
3   pgAdmin3-Debug                    0x00122b66
dlgProperty::EditObjectDialog(frmMain*, ctlSQLBox*, pgObject*) + 166
4   pgAdmin3-Debug                    0x00123063
propertyFactory::StartDialog(frmMain*, pgObject*) + 35
5   pgAdmin3-Debug                    0x00193e86
frmMain::OnAction(wxCommandEvent&) + 70
6   libwx_base_carbonu-2.8.0.dylib    0x01404463
wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&,
wxEvtHandler*, wxEvent&) + 131
7   libwx_base_carbonu-2.8.0.dylib    0x01404526
wxEvtHandler::SearchDynamicEventTable(wxEvent&) + 86
8   libwx_base_carbonu-2.8.0.dylib    0x01404df3
wxEvtHandler::ProcessEvent(wxEvent&) + 179
9   libwx_base_carbonu-2.8.0.dylib    0x01404da9
wxEvtHandler::ProcessEvent(wxEvent&) + 105
10  libwx_macu_core-2.8.0.dylib       0x01004f28
wxWindowBase::TryParent(wxEvent&) + 88
11  libwx_base_carbonu-2.8.0.dylib    0x01404db9
wxEvtHandler::ProcessEvent(wxEvent&) + 121
12  libwx_base_carbonu-2.8.0.dylib    0x01404da9
wxEvtHandler::ProcessEvent(wxEvent&) + 105
13  libwx_macu_core-2.8.0.dylib       0x0102fb6e
wxScrollHelperEvtHandler::ProcessEvent(wxEvent&) + 46
14  libwx_macu_core-2.8.0.dylib       0x00fdff80
wxMenuBase::SendEvent(int, int) + 144
15  libwx_macu_core-2.8.0.dylib       0x00f2a6ac
wxMenu::MacHandleCommandProcess(wxMenuItem*, int, wxWindow*) + 60
16  libwx_macu_core-2.8.0.dylib       0x00f5b3ab
wxMacWindowEventHandler(OpaqueEventHandlerCallRef*, OpaqueEventRef*,
void*) + 427
17  com.apple.HIToolbox               0x92f8d0a9
DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*,
HandlerCallRec*) + 1567
18  com.apple.HIToolbox               0x92f8c370
SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*,
HandlerCallRec*) + 411
19  com.apple.HIToolbox               0x92faeb55 SendEventToEventTarget + 52
20  com.apple.HIToolbox               0x92fdb147
SendHICommandEvent(unsigned long, HICommand const*, unsigned long,
unsigned long, unsigned char, void const*, OpaqueEventTargetRef*,
OpaqueEventTargetRef*, OpaqueEventRef**) + 448
21  com.apple.HIToolbox               0x92fffe40
SendMenuCommandWithContextAndModifiers + 66
22  com.apple.HIToolbox               0x92fffdf5 SendMenuItemSelectedEvent + 121
23  com.apple.HIToolbox               0x92fffcfa
FinishMenuSelection(SelectionData*, MenuResult*, MenuResult*) + 152
24  com.apple.HIToolbox               0x931813d4
PopUpMenuSelectCore(MenuData*, Point, double, Point, unsigned short,
unsigned int, Rect const*, unsigned short, unsigned long, Rect const*,
Rect const*, __CFString const*, OpaqueMenuRef**, unsigned short*) +
1851
25  com.apple.HIToolbox               0x931818b0 PopUpMenuSelect + 253
26  libwx_macu_core-2.8.0.dylib       0x00f54db8
wxWindow::DoPopupMenu(wxMenu*, int, int) + 120
27  pgAdmin3-Debug                    0x001944d3
frmMain::doPopup(wxWindow*, wxPoint, pgObject*) + 739
28  pgAdmin3-Debug                    0x0019473b
frmMain::OnSelRightClick(wxTreeEvent&) + 107
29  libwx_base_carbonu-2.8.0.dylib    0x01404463
wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&,
wxEvtHandler*, wxEvent&) + 131
30  libwx_base_carbonu-2.8.0.dylib    0x01404ae1
wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) + 113
31  libwx_base_carbonu-2.8.0.dylib    0x01404e0f
wxEvtHandler::ProcessEvent(wxEvent&) + 207
32  libwx_base_carbonu-2.8.0.dylib    0x01404da9
wxEvtHandler::ProcessEvent(wxEvent&) + 105
33  libwx_macu_core-2.8.0.dylib       0x01004f28
wxWindowBase::TryParent(wxEvent&) + 88
34  libwx_base_carbonu-2.8.0.dylib    0x01404db9
wxEvtHandler::ProcessEvent(wxEvent&) + 121
35  libwx_base_carbonu-2.8.0.dylib    0x01404da9
wxEvtHandler::ProcessEvent(wxEvent&) + 105
36  libwx_macu_core-2.8.0.dylib       0x0102fb6e
wxScrollHelperEvtHandler::ProcessEvent(wxEvent&) + 46
37  libwx_macu_core-2.8.0.dylib       0x0103d43e
wxGenericTreeCtrl::OnMouse(wxMouseEvent&) + 1902
38  libwx_base_carbonu-2.8.0.dylib    0x01404463
wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&,
wxEvtHandler*, wxEvent&) + 131
39  libwx_base_carbonu-2.8.0.dylib    0x01404ae1
wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) + 113
40  libwx_base_carbonu-2.8.0.dylib    0x01404e0f
wxEvtHandler::ProcessEvent(wxEvent&) + 207
41  libwx_base_carbonu-2.8.0.dylib    0x01404da9
wxEvtHandler::ProcessEvent(wxEvent&) + 105
42  libwx_macu_core-2.8.0.dylib       0x0102fb6e
wxScrollHelperEvtHandler::ProcessEvent(wxEvent&) + 46
43  libwx_macu_core-2.8.0.dylib       0x00f5296e
wxMacTopLevelMouseEventHandler(OpaqueEventHandlerCallRef*,
OpaqueEventRef*, void*) + 798
44  libwx_macu_core-2.8.0.dylib       0x00f52e56
wxMacTopLevelEventHandler(OpaqueEventHandlerCallRef*, OpaqueEventRef*,
void*) + 198
45  com.apple.HIToolbox               0x92f8d0a9
DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*,
HandlerCallRec*) + 1567
46  com.apple.HIToolbox               0x92f8c370
SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*,
HandlerCallRec*) + 411
47  com.apple.HIToolbox               0x92faeb55 SendEventToEventTarget + 52
48  com.apple.HIToolbox               0x92fc063b
ToolboxEventDispatcherHandler(OpaqueEventHandlerCallRef*,
OpaqueEventRef*, void*) + 1257
49  com.apple.HIToolbox               0x92f8d4fa
DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*,
HandlerCallRec*) + 2672
50  com.apple.HIToolbox               0x92f8c370
SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*,
HandlerCallRec*) + 411
51  com.apple.HIToolbox               0x92faeb55 SendEventToEventTarget + 52
52  libwx_macu_core-2.8.0.dylib       0x00eedfe6
wxApp::MacHandleOneEvent(void*) + 38
53  libwx_macu_core-2.8.0.dylib       0x00eee80b wxApp::MacDoOneEvent() + 123
54  libwx_macu_core-2.8.0.dylib       0x00f07fd3 wxEventLoop::Dispatch() + 35
55  libwx_macu_core-2.8.0.dylib       0x00fae708 wxEventLoopManual::Run() + 136
56  libwx_macu_core-2.8.0.dylib       0x00f87bf3 wxAppBase::MainLoop() + 83
57  libwx_base_carbonu-2.8.0.dylib    0x013ba81a wxEntry(int&, wchar_t**) + 106
58  pgAdmin3-Debug                    0x0003fc58 main + 24
59  pgAdmin3-Debug                    0x0003f979 start + 53

--
Dave Page
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise Postgres Company

pgadmin-hackers by date:

Previous
From: Ashesh Vashi
Date:
Subject: PATCH: Ticket#96: Deferrable unique & primary constraints
Next
From: Dave Page
Date:
Subject: Re: PATCH: Ticket#96: Deferrable unique & primary constraints