Re: PoC: Little improvements to EditGrid - Enum ComboBox

From: "Dickson S(dot) Guedes" <listas(at)guedesoft(dot)net>
To: Ashesh Vashi <ashesh(dot)vashi(at)enterprisedb(dot)com>
Cc: pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>, Dave Page <dpage(at)pgadmin(dot)org>, Guillaume Lelarge <guillaume(at)lelarge(dot)info>
Subject: Re: PoC: Little improvements to EditGrid - Enum ComboBox
Date: 2012-06-17 13:18:20
Message-ID: CAHHcreoYHNmt5XWApU+sOnxJwB5faKwaY36uadtg9sqCQ69VLQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

2012/6/17 Ashesh Vashi <ashesh(dot)vashi(at)enterprisedb(dot)com>
>
> On Sun, Jun 17, 2012 at 6:39 AM, Dickson S. Guedes <listas(at)guedesoft(dot)net> wrote:
>>
>> 2012/6/6 Dickson S. Guedes <listas(at)guedesoft(dot)net>:
>> > I'm starting some proof-of-concept working on frmEditGrid trying make
>> > some "improvements" like:
>> >
>> > 1) show a combo box in columns of type enum;
>>
>> There isn't changes to this code comparing to previous initial patch,
>> but I'm getting segfault when the combo box is open and you press
>> 'Delete' to delete some letter. I'm sure that I'm missing something,
>> but couldn't figure it out.
>
> I guess - you may need to implement KILL FOCUS event on combo-box.

Hi Ashesh,

Thanks for your comment. I debugged with gdb and see what is happening:

#0 0x00007ffff7850658 in wxStyledTextCtrl::SendMsg (this=0x1e06d90,
msg=2008, wp=0, lp=0) at ../../../../contrib/src/stc/stc.cpp:199
#1 0x00007ffff785093b in wxStyledTextCtrl::GetCurrentPos
(this=0x1e06d90) at ../../../../contrib/src/stc/stc.cpp:267
#2 0x0000000000641baa in frmEditGrid::OnDelete (this=0x1cdbce0,
event=...) at ./frm/frmEditGrid.cpp:1161
#3 0x00007ffff5dc0aa6 in wxAppConsole::HandleEvent (this=0x1019e20,
handler=0x1cdbce0, func=(void (wxEvtHandler::*)(wxEvtHandler * const,
wxEvent &)) 0x641a4e <frmEditGrid::OnDelete(wxCommandEvent&)>,
event=...) at ../src/common/appbase.cpp:322

As we can see in #2, pressing the 'Delete' key is triggering
frmEditGrid::OnDelete that are trying to do:

if (text && text->GetCurrentPos() <= text->GetTextLength()) ...

I need to check if the column is Enum and return before this code.

regards
--
Dickson S. Guedes
mail/xmpp: guedes(at)guedesoft(dot)net - skype: guediz
http://guedesoft.net - http://www.postgresql.org.br

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Guillaume Lelarge 2012-06-17 14:13:59 code.pgadmin.org broken?
Previous Message Ashesh Vashi 2012-06-17 08:51:03 Re: PoC: Little improvements to EditGrid - Enum ComboBox