From: | Dave Page <dpage(at)pgadmin(dot)org> |
---|---|
To: | Peter Geoghegan <peter(dot)geoghegan86(at)gmail(dot)com> |
Cc: | pgadmin-hackers(at)postgresql(dot)org |
Subject: | Re: phase 2 of wxWidgets 2.9 build |
Date: | 2011-02-02 18:51:23 |
Message-ID: | AANLkTi=cN1Pw0kLGwFicr_8Aoyws-mBJsPFAHmcxGsj=@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgadmin-hackers |
On Wed, Feb 2, 2011 at 6:23 PM, Peter Geoghegan
<peter(dot)geoghegan86(at)gmail(dot)com> wrote:
> Well, none of that has worked. However, considering this:
>
> [peter(at)localhost local]$ nm -D
> /usr/local/lib/libwx_gtk2u_adv-2.9.so.1.0.0 | grep wxBitmapComboBox |
> grep Insert | c++filt
> 000000000016b8b0 T wxBitmapComboBox::SetInsertionPoint(long)
> 000000000016ce10 T
> wxBitmapComboBox::GTKInsertComboBoxTextItem(unsigned int, wxString
> const&)
> 000000000016ca70 T wxBitmapComboBox::Insert(wxString const&, wxBitmap
> const&, unsigned int)
> 000000000016cc10 T wxBitmapComboBox::Insert(wxString const&, wxBitmap
> const&, unsigned int, wxClientData*)
> *snip*
>
> I find it hard to argue with my linker on this one - the last function
> should have a void* as its last parameter. I suspect a bug in 2.9.1 .
Hmm, the docs for both 2.8 and 2.9 show 3 Insert members - one with
three parameters and 2 with 4, one with wxClientData* and one with
void*. Certainly looks like an issue.
> Changing this:
> cbConnection->Insert(newconn->GetName(),
> CreateBitmap(GetServerColour(newconn)), sel, newconn);
> to this:
> cbConnection->Insert(newconn->GetName(),
> CreateBitmap(GetServerColour(newconn)), sel, (wxClientData*)newconn);
>
> so that the wxClientData* overload rather than the void* overload is
> called seems to have fixed the problem.
Yup.
> We have a complete 2.9 build!
Wahoo! Nice work Sir!
> Now to investigate this assertion failure, that I see plenty of:
>
> /usr/local/include/wx-2.9/wx/strvararg.h(449): assert "(argtype &
> (wxFormatStringSpecifier<T>::value)) == argtype" failed in
> wxArgNormalizer(): format specifier doesn't match argument type
>
> ASSERT INFO:
> /usr/local/include/wx-2.9/wx/strvararg.h(449): assert "(argtype &
> (wxFormatStringSpecifier<T>::value)) == argtype" failed in
> wxArgNormalizer(): format specifier doesn't match argument type
>
> BACKTRACE:
> [1] wxOnAssert(char const*, int, char const*, char const*, char const*)
> [2] wxArgNormalizer() /usr/local/include/wx-2.9/wx/strvararg.h:449
> [3] wxArgNormalizerUtf8() /usr/local/include/wx-2.9/wx/strvararg.h:481
> [4] int wxString::Printf<unsigned long>(wxFormatString const&,
> unsigned long) /usr/local/include/wx-2.9/wx/string.h:2305
> [5] pgCollection::UpdateChildCount(ctlTree*, int)
> /home/peter/pgadmin3/pgadmin/./schema/pgCollection.cpp:93
> *SNIP*
>
> We seem to just get an assertion failure when refreshing an expanded
> node where we would have crashed before. Progress.
:-)
> I've attached:
>
> A patch for anyone that wants to reproduce this. It doesn't break the 2.8 build.
>
> A screenshot, which seems to show some minor problems with this build
> of pgAdmin, that are probably related to AUI in some way.
Thanks Peter, great work.
--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
From | Date | Subject | |
---|---|---|---|
Next Message | Dave Page | 2011-02-02 20:16:33 | pgAdmin III commit: Fix a couple of warnings on VC++ |
Previous Message | Peter Geoghegan | 2011-02-02 18:23:06 | Re: phase 2 of wxWidgets 2.9 build |