Re: wxWidgets 2.9 compatibility: Fix for sefault on table editor under GTK

Поиск
Список
Период
Сортировка
От Dave Page
Тема Re: wxWidgets 2.9 compatibility: Fix for sefault on table editor under GTK
Дата
Msg-id AANLkTi=g75MG22_EERMkC-p=mkYKgBWie_zg_3V+qwn=@mail.gmail.com
обсуждение исходный текст
Ответ на wxWidgets 2.9 compatibility: Fix for sefault on table editor under GTK  (Peter Geoghegan <peter.geoghegan86@gmail.com>)
Список pgadmin-hackers
Thanks - applied.

On Fri, Feb 25, 2011 at 8:31 PM, Peter Geoghegan
<peter.geoghegan86@gmail.com> wrote:
> I should have spotted this one sooner, but I was thrown off by the
> fact that my sqlGridTextEditor code (inherits wxGridCellTextEditor)
> compiled without having appropriate EndEdit()/ApplyEdit() signature
> changes. sqlGridBoolEditor (inherits from wxGridCellEditor), on the
> other hand, made ApplyEdit and EndEdit() with the new signature pure
> to avoid this problem. I've reported the inconsistency to wx-users.
>
> Attached patch fixes segfault, and makes us consistent with this
> design principle of 2.9 for grid cells, from wx docs:
>
> virtual bool wxGridCellEditor::EndEdit  (       int     row,
> int     col,
> const wxGrid *  grid,
> const wxString &        oldval,
> wxString *      newval
> )                        [pure virtual]
> End editing the cell.
> This function must check if the current value of the editing control
> is valid and different from the original value (available as oldval in
> its string form and possibly saved internally using its real type by
> BeginEdit()). If it isn't, it just returns false, otherwise it must do
> the following: # Save the new value internally so that ApplyEdit()
> could apply it. # Fill newval (which is never NULL) with the string
> representation of the new value. # Return true
>
> ****Notice that it must not modify the grid as the change could still
> be vetoed.****
>
> I've made sqlGridNumericEditor do the same, even though it was
> ostensibly well behaved before, because changes could still be vetoed
> before we get to ApplyEdit(). Naturally, 2.8 compatibility is
> preserved.
>
> I've also updated the build shell script to remove contrib/OGL stuff,
> which we no longer need regardless of wx version.
>
> BTW, the comment "// pure virtual in wx 2.9+, doesn't exist in prior
> versions" isn't currently true for wxGridCellTextEditor inheriting
> classes, but I left it there in anticipation of it becoming true and
> for consistency with sqlGridBoolEditor.
>
> --
> Regards,
> Peter Geoghegan
>
>
> --
> Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgadmin-hackers
>
>



--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

В списке pgadmin-hackers по дате отправления:

Предыдущее
От: Dave Page
Дата:
Сообщение: pgAdmin III commit: Fix the text edit grid control to work with wxWidge
Следующее
От: Dave Page
Дата:
Сообщение: pgAdmin III commit: Correctly identify the sys and dbo catalogs on PPAS