Re: phase 2 of wxWidgets 2.9 build
От | Dave Page |
---|---|
Тема | Re: phase 2 of wxWidgets 2.9 build |
Дата | |
Msg-id | AANLkTi=cN1Pw0kLGwFicr_8Aoyws-mBJsPFAHmcxGsj=@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: phase 2 of wxWidgets 2.9 build (Peter Geoghegan <peter.geoghegan86@gmail.com>) |
Ответы |
Re: phase 2 of wxWidgets 2.9 build
|
Список | pgadmin-hackers |
On Wed, Feb 2, 2011 at 6:23 PM, Peter Geoghegan <peter.geoghegan86@gmail.com> wrote: > Well, none of that has worked. However, considering this: > > [peter@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
В списке pgadmin-hackers по дате отправления: