diff -ur wxWidgets-2.6.3/build/aclocal/bakefile.m4 wxWidgets-2.6.3.3/build/aclocal/bakefile.m4 --- wxWidgets-2.6.3/build/aclocal/bakefile.m4 2006-02-12 03:50:55.000000000 -0500 +++ wxWidgets-2.6.3.3/build/aclocal/bakefile.m4 2006-07-12 04:59:53.000000000 -0400 @@ -421,6 +421,7 @@ powerpc-apple-macos* | \ *-*-freebsd* | *-*-openbsd* | *-*-netbsd* | *-*-k*bsd*-gnu | \ + *-*-mirbsd* | \ *-*-sunos4* | \ *-*-osf* | \ *-*-dgux5* | \ diff -ur wxWidgets-2.6.3/configure wxWidgets-2.6.3.3/configure --- wxWidgets-2.6.3/configure 2006-03-21 14:33:33.000000000 -0500 +++ wxWidgets-2.6.3.3/configure 2006-05-23 14:08:19.000000000 -0400 @@ -892,6 +892,7 @@ --enable-universal_binary create Mac PowerPC and Intel Universal binary (not yet working) --enable-compat22 enable wxWidgets 2.2 compatibility --disable-compat24 disable wxWidgets 2.4 compatibility + --disable-reserved_virtual do not create unused vtable entries --disable-rpath disable use of rpath for uninstalled builds --enable-intl use internationalization system --enable-config use wxConfig (and derived) classes @@ -1669,7 +1670,7 @@ wx_major_version_number=2 wx_minor_version_number=6 wx_release_number=3 -wx_subrelease_number=1 +wx_subrelease_number=3 WX_RELEASE=$wx_major_version_number.$wx_minor_version_number WX_VERSION=$WX_RELEASE.$wx_release_number @@ -4241,6 +4242,49 @@ fi +DEFAULT_WX_USE_RESERVED_VIRTUALS=yes + + enablestring= + echo "$as_me:$LINENO: checking for --${enablestring:-enable}-reserved_virtual" >&5 +echo $ECHO_N "checking for --${enablestring:-enable}-reserved_virtual... $ECHO_C" >&6 + no_cache=0 + # Check whether --enable-reserved_virtual or --disable-reserved_virtual was given. +if test "${enable_reserved_virtual+set}" = set; then + enableval="$enable_reserved_virtual" + + if test "$enableval" = yes; then + ac_cv_use_reserved_virtual='WX_USE_RESERVED_VIRTUALS=yes' + else + ac_cv_use_reserved_virtual='WX_USE_RESERVED_VIRTUALS=no' + fi + +else + + LINE=`grep "WX_USE_RESERVED_VIRTUALS" ${wx_arg_cache_file}` + if test "x$LINE" != x ; then + eval "DEFAULT_$LINE" + else + no_cache=1 + fi + + ac_cv_use_reserved_virtual='WX_USE_RESERVED_VIRTUALS='$DEFAULT_WX_USE_RESERVED_VIRTUALS + +fi; + + eval "$ac_cv_use_reserved_virtual" + if test "$no_cache" != 1; then + echo $ac_cv_use_reserved_virtual >> ${wx_arg_cache_file}.tmp + fi + + if test "$WX_USE_RESERVED_VIRTUALS" = yes; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + fi + + enablestring= echo "$as_me:$LINENO: checking for --${enablestring:-enable}-rpath" >&5 @@ -38289,6 +38333,13 @@ fi +if test "x$WX_USE_RESERVED_VIRTUALS" != "xno"; then + cat >>confdefs.h <<\_ACEOF +#define WX_USE_RESERVED_VIRTUALS 1 +_ACEOF + +fi + if test "$wxUSE_GUI" = "yes"; then cat >>confdefs.h <<\_ACEOF @@ -42353,11 +42404,6 @@ echo "$as_me: WARNING: Toggle button not yet supported under Mac OS X... disabled" >&2;} wxUSE_TOGGLEBTN=no fi - if test "$wxUSE_UNIVERSAL" = "yes"; then - { echo "$as_me:$LINENO: WARNING: Toggle button not yet supported under wxUniversal... disabled" >&5 -echo "$as_me: WARNING: Toggle button not yet supported under wxUniversal... disabled" >&2;} - wxUSE_TOGGLEBTN=no - fi if test "$wxUSE_TOGGLEBTN" = "yes"; then cat >>confdefs.h <<\_ACEOF diff -ur wxWidgets-2.6.3/configure.in wxWidgets-2.6.3.3/configure.in --- wxWidgets-2.6.3/configure.in 2006-03-21 14:33:57.000000000 -0500 +++ wxWidgets-2.6.3.3/configure.in 2006-07-12 04:59:50.000000000 -0400 @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -AC_REVISION($Id: configure.in,v 1.1063.2.15 2006/03/21 19:33:57 KO Exp $)dnl +AC_REVISION($Id: configure.in,v 1.1063.2.23 2006/07/12 08:59:50 SN Exp $)dnl dnl --------------------------------------------------------------------------- dnl @@ -8,7 +8,7 @@ dnl dnl This script is under the wxWidgets licence. dnl -dnl Version: $Id: configure.in,v 1.1063.2.15 2006/03/21 19:33:57 KO Exp $ +dnl Version: $Id: configure.in,v 1.1063.2.23 2006/07/12 08:59:50 SN Exp $ dnl --------------------------------------------------------------------------- dnl --------------------------------------------------------------------------- @@ -33,7 +33,7 @@ wx_major_version_number=2 wx_minor_version_number=6 wx_release_number=3 -wx_subrelease_number=1 +wx_subrelease_number=3 WX_RELEASE=$wx_major_version_number.$wx_minor_version_number WX_VERSION=$WX_RELEASE.$wx_release_number @@ -185,7 +185,7 @@ AC_DEFINE(__BSD__) DEFAULT_DEFAULT_wxUSE_GTK=1 ;; - *-*-openbsd*) + *-*-openbsd*|*-*-mirbsd*) USE_BSD=1 USE_OPENBSD=1 AC_DEFINE(__OPENBSD__) @@ -857,6 +857,9 @@ WX_ARG_ENABLE(compat22, [ --enable-compat22 enable wxWidgets 2.2 compatibility], WXWIN_COMPATIBILITY_2_2) WX_ARG_ENABLE(compat24, [ --disable-compat24 disable wxWidgets 2.4 compatibility], WXWIN_COMPATIBILITY_2_4, disable) +DEFAULT_WX_USE_RESERVED_VIRTUALS=yes +WX_ARG_ENABLE(reserved_virtual, [ --disable-reserved_virtual do not create unused vtable entries], WX_USE_RESERVED_VIRTUALS) + WX_ARG_ENABLE(rpath, [ --disable-rpath disable use of rpath for uninstalled builds], wxUSE_RPATH) @@ -5073,6 +5076,10 @@ AC_DEFINE(WXWIN_COMPATIBILITY_2_4) fi +if test "x$WX_USE_RESERVED_VIRTUALS" != "xno"; then + AC_DEFINE(WX_USE_RESERVED_VIRTUALS) +fi + dnl --------------------------------------------------------------------------- dnl the library may be built without GUI classes at all dnl --------------------------------------------------------------------------- @@ -6311,10 +6318,6 @@ AC_MSG_WARN([Toggle button not yet supported under Mac OS X... disabled]) wxUSE_TOGGLEBTN=no fi - if test "$wxUSE_UNIVERSAL" = "yes"; then - AC_MSG_WARN([Toggle button not yet supported under wxUniversal... disabled]) - wxUSE_TOGGLEBTN=no - fi if test "$wxUSE_TOGGLEBTN" = "yes"; then AC_DEFINE(wxUSE_TOGGLEBTN) diff -ur wxWidgets-2.6.3/contrib/src/gizmos/editlbox.cpp wxWidgets-2.6.3.3/contrib/src/gizmos/editlbox.cpp --- wxWidgets-2.6.3/contrib/src/gizmos/editlbox.cpp 2005-01-14 08:06:52.000000000 -0500 +++ wxWidgets-2.6.3.3/contrib/src/gizmos/editlbox.cpp 2006-05-23 15:30:03.000000000 -0400 @@ -2,7 +2,7 @@ // Name: editlbox.cpp // Purpose: ListBox with editable items // Author: Vaclav Slavik -// RCS-ID: $Id: editlbox.cpp,v 1.21 2005/01/14 13:06:52 ABX Exp $ +// RCS-ID: $Id: editlbox.cpp,v 1.21.2.1 2006/05/23 19:30:03 ABX Exp $ // Copyright: (c) Vaclav Slavik // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -228,6 +228,12 @@ // add new empty line here so that adding one more line is still // possible: m_listCtrl->InsertItem(m_listCtrl->GetItemCount(), wxEmptyString); + + // Simulate a wxEVT_COMMAND_LIST_ITEM_SELECTED event for the new item, + // so that the buttons are enabled/disabled properly + wxListEvent selectionEvent(wxEVT_COMMAND_LIST_ITEM_SELECTED, m_listCtrl->GetId()); + selectionEvent.m_itemIndex = event.GetIndex(); + m_listCtrl->GetEventHandler()->ProcessEvent(selectionEvent); } } diff -ur wxWidgets-2.6.3/contrib/src/stc/scintilla/src/Editor.cxx wxWidgets-2.6.3.3/contrib/src/stc/scintilla/src/Editor.cxx --- wxWidgets-2.6.3/contrib/src/stc/scintilla/src/Editor.cxx 2006-03-12 01:03:37.000000000 -0500 +++ wxWidgets-2.6.3.3/contrib/src/stc/scintilla/src/Editor.cxx 2006-06-28 15:32:14.000000000 -0400 @@ -213,7 +213,7 @@ } void LineLayoutCache::AllocateForLevel(int linesOnScreen, int linesInDoc) { - PLATFORM_ASSERT(useCount == 0); +// PLATFORM_ASSERT(useCount == 0); int lengthForLevel = 0; if (level == llcCaret) { lengthForLevel = 1; @@ -239,7 +239,7 @@ } void LineLayoutCache::Deallocate() { - PLATFORM_ASSERT(useCount == 0); +// PLATFORM_ASSERT(useCount == 0); for (int i = 0; i < length; i++) delete cache[i]; delete []cache; diff -ur wxWidgets-2.6.3/contrib/src/stc/ScintillaWX.cpp wxWidgets-2.6.3.3/contrib/src/stc/ScintillaWX.cpp --- wxWidgets-2.6.3/contrib/src/stc/ScintillaWX.cpp 2006-03-12 01:03:52.000000000 -0500 +++ wxWidgets-2.6.3.3/contrib/src/stc/ScintillaWX.cpp 2006-06-28 15:32:18.000000000 -0400 @@ -9,7 +9,7 @@ // Author: Robin Dunn // // Created: 13-Jan-2000 -// RCS-ID: $Id: ScintillaWX.cpp,v 1.85.2.1 2006/03/12 06:03:52 RD Exp $ +// RCS-ID: $Id: ScintillaWX.cpp,v 1.85.2.3 2006/06/28 19:32:18 RD Exp $ // Copyright: (c) 2000 by Total Control Software // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// @@ -483,7 +483,10 @@ if (gotData) { wxString text = wxTextBuffer::Translate(data.GetText(), wxConvertEOLMode(pdoc->eolMode)); + data.SetText(wxEmptyString); // free the data object content wxWX2MBbuf buf = (wxWX2MBbuf)wx2stc(text); + text = wxEmptyString; // free text + int len = strlen(buf); pdoc->InsertString(currentPos, buf, len); SetEmptySelection(currentPos + len); @@ -827,13 +830,15 @@ } void ScintillaWX::DoLeftButtonUp(Point pt, unsigned int curTime, bool ctrl) { + ButtonUp(pt, curTime, ctrl); #if wxUSE_DRAG_AND_DROP if (startDragTimer->IsRunning()) { startDragTimer->Stop(); + SetDragPosition(invalidPosition); SetEmptySelection(PositionFromLocation(pt)); + ShowCaretAtCurrentPosition(); } #endif // wxUSE_DRAG_AND_DROP - ButtonUp(pt, curTime, ctrl); } void ScintillaWX::DoLeftButtonMove(Point pt) { diff -ur wxWidgets-2.6.3/contrib/src/stc/stc.cpp wxWidgets-2.6.3.3/contrib/src/stc/stc.cpp --- wxWidgets-2.6.3/contrib/src/stc/stc.cpp 2006-03-12 01:03:51.000000000 -0500 +++ wxWidgets-2.6.3.3/contrib/src/stc/stc.cpp 2006-06-28 15:32:18.000000000 -0400 @@ -10,7 +10,7 @@ // Author: Robin Dunn // // Created: 13-Jan-2000 -// RCS-ID: $Id: stc.cpp,v 1.97.2.1 2006/03/12 06:03:51 RD Exp $ +// RCS-ID: $Id: stc.cpp,v 1.97.2.2 2006/06/28 19:32:18 RD Exp $ // Copyright: (c) 2000 by Total Control Software // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// @@ -3186,12 +3186,7 @@ size_t length) { if(!text) return; - // The unicode conversion MUST have a null byte to terminate the - // string so move it into a buffer first and give it one. - wxMemoryBuffer buf(length+1); - buf.AppendData((void*)text, length); - buf.AppendByte(0); - evt.SetText(stc2wx(buf)); + evt.SetText(stc2wx(text, length)); } diff -ur wxWidgets-2.6.3/contrib/src/stc/stc.cpp.in wxWidgets-2.6.3.3/contrib/src/stc/stc.cpp.in --- wxWidgets-2.6.3/contrib/src/stc/stc.cpp.in 2006-03-12 01:03:51.000000000 -0500 +++ wxWidgets-2.6.3.3/contrib/src/stc/stc.cpp.in 2006-06-28 15:32:17.000000000 -0400 @@ -10,7 +10,7 @@ // Author: Robin Dunn // // Created: 13-Jan-2000 -// RCS-ID: $Id: stc.cpp.in,v 1.66.2.1 2006/03/12 06:03:51 RD Exp $ +// RCS-ID: $Id: stc.cpp.in,v 1.66.2.2 2006/06/28 19:32:17 RD Exp $ // Copyright: (c) 2000 by Total Control Software // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// @@ -854,12 +854,7 @@ size_t length) { if(!text) return; - // The unicode conversion MUST have a null byte to terminate the - // string so move it into a buffer first and give it one. - wxMemoryBuffer buf(length+1); - buf.AppendData((void*)text, length); - buf.AppendByte(0); - evt.SetText(stc2wx(buf)); + evt.SetText(stc2wx(text, length)); } diff -ur wxWidgets-2.6.3/include/wx/control.h wxWidgets-2.6.3.3/include/wx/control.h --- wxWidgets-2.6.3/include/wx/control.h 2005-06-26 11:46:07.000000000 -0400 +++ wxWidgets-2.6.3.3/include/wx/control.h 2006-04-19 05:33:32.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Vadim Zeitlin // Modified by: // Created: 26.07.99 -// RCS-ID: $Id: control.h,v 1.45 2005/06/26 15:46:07 RR Exp $ +// RCS-ID: $Id: control.h,v 1.45.2.1 2006/04/19 09:33:32 RL Exp $ // Copyright: (c) wxWidgets team // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -66,6 +66,7 @@ virtual void SetLabel( const wxString &label ); virtual bool SetFont(const wxFont& font); +#if WX_USE_RESERVED_VIRTUALS // Reserved for future use virtual void ReservedControlFunc1() {} virtual void ReservedControlFunc2() {} @@ -76,6 +77,7 @@ virtual void ReservedControlFunc7() {} virtual void ReservedControlFunc8() {} virtual void ReservedControlFunc9() {} +#endif protected: // creates the control (calls wxWindowBase::CreateBase inside) and adds it diff -ur wxWidgets-2.6.3/include/wx/dc.h wxWidgets-2.6.3.3/include/wx/dc.h --- wxWidgets-2.6.3/include/wx/dc.h 2005-06-26 11:46:07.000000000 -0400 +++ wxWidgets-2.6.3.3/include/wx/dc.h 2006-04-19 05:33:32.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Vadim Zeitlin // Modified by: // Created: 05/25/99 -// RCS-ID: $Id: dc.h,v 1.69 2005/06/26 15:46:07 RR Exp $ +// RCS-ID: $Id: dc.h,v 1.69.2.1 2006/04/19 09:33:32 RL Exp $ // Copyright: (c) wxWidgets team // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -631,6 +631,7 @@ if (h) *h = hh; } +#if WX_USE_RESERVED_VIRTUALS // Reserved for future use virtual void ReservedDCFunc1() {} virtual void ReservedDCFunc2() {} @@ -641,6 +642,7 @@ virtual void ReservedDCFunc7() {} virtual void ReservedDCFunc8() {} virtual void ReservedDCFunc9() {} +#endif protected: // the pure virtual functions which should be implemented by wxDC diff -ur wxWidgets-2.6.3/include/wx/defs.h wxWidgets-2.6.3.3/include/wx/defs.h --- wxWidgets-2.6.3/include/wx/defs.h 2006-01-26 08:15:47.000000000 -0500 +++ wxWidgets-2.6.3.3/include/wx/defs.h 2006-05-29 13:34:40.000000000 -0400 @@ -4,7 +4,7 @@ * Author: Julian Smart and others * Modified by: Ryan Norton (Converted to C) * Created: 01/02/97 -* RCS-ID: $Id: defs.h,v 1.513.2.4 2006/01/26 13:15:47 JS Exp $ +* RCS-ID: $Id: defs.h,v 1.513.2.5 2006/05/29 17:34:40 MW Exp $ * Copyright: (c) Julian Smart * Licence: wxWindows licence */ @@ -78,6 +78,12 @@ # pragma warning(disable:4305) /* truncation of long to near ptr */ #endif + /* For VC++ 5.0 for release mode, the warning 'C4702: unreachable code */ + /* is buggy, and occurs for code that does actually get executed */ +# if !defined __WXDEBUG__ && __VISUALC__ <= 1100 +# pragma warning(disable:4702) /* unreachable code */ +# endif + /* Deprecated functions such as sprintf, localtime */ #if __VISUALC__ >= 1400 #define _CRT_SECURE_NO_DEPRECATE 1 diff -ur wxWidgets-2.6.3/include/wx/dlimpexp.h wxWidgets-2.6.3.3/include/wx/dlimpexp.h --- wxWidgets-2.6.3/include/wx/dlimpexp.h 2005-06-22 16:58:47.000000000 -0400 +++ wxWidgets-2.6.3.3/include/wx/dlimpexp.h 2006-06-25 20:03:33.000000000 -0400 @@ -4,7 +4,7 @@ * Author: Vadim Zeitlin * Modified by: * Created: 16.10.2003 (extracted from wx/defs.h) - * RCS-ID: $Id: dlimpexp.h,v 1.13 2005/06/22 20:58:47 MW Exp $ + * RCS-ID: $Id: dlimpexp.h,v 1.13.2.1 2006/06/26 00:03:33 VZ Exp $ * Copyright: (c) 2003 Vadim Zeitlin * Licence: wxWindows licence */ @@ -77,6 +77,7 @@ # define WXMAKINGDLL_NET # define WXMAKINGDLL_CORE # define WXMAKINGDLL_ADV +# define WXMAKINGDLL_QA # define WXMAKINGDLL_ODBC # define WXMAKINGDLL_DBGRID # define WXMAKINGDLL_HTML diff -ur wxWidgets-2.6.3/include/wx/generic/fontdlgg.h wxWidgets-2.6.3.3/include/wx/generic/fontdlgg.h --- wxWidgets-2.6.3/include/wx/generic/fontdlgg.h 2006-03-02 07:57:18.000000000 -0500 +++ wxWidgets-2.6.3.3/include/wx/generic/fontdlgg.h 2006-05-23 07:16:34.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Julian Smart // Modified by: // Created: 01/02/97 -// RCS-ID: $Id: fontdlgg.h,v 1.18.2.1 2006/03/02 12:57:18 JS Exp $ +// RCS-ID: $Id: fontdlgg.h,v 1.18.2.2 2006/05/23 11:16:34 JS Exp $ // Copyright: (c) Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -52,6 +52,10 @@ { public: wxGenericFontDialog() { Init(); } +#if wxABI_VERSION >= 20604 + wxGenericFontDialog(wxWindow *parent) + : wxFontDialogBase(parent) { Init(); } +#endif wxGenericFontDialog(wxWindow *parent, const wxFontData& data) : wxFontDialogBase(parent, data) { Init(); } virtual ~wxGenericFontDialog(); diff -ur wxWidgets-2.6.3/include/wx/generic/grid.h wxWidgets-2.6.3.3/include/wx/generic/grid.h --- wxWidgets-2.6.3/include/wx/generic/grid.h 2005-09-25 16:46:22.000000000 -0400 +++ wxWidgets-2.6.3.3/include/wx/generic/grid.h 2006-05-29 13:34:45.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Michael Bedward (based on code by Julian Smart, Robin Dunn) // Modified by: // Created: 1/08/1999 -// RCS-ID: $Id: grid.h,v 1.147.2.1 2005/09/25 20:46:22 MW Exp $ +// RCS-ID: $Id: grid.h,v 1.147.2.2 2006/05/29 17:34:45 MW Exp $ // Copyright: (c) Michael Bedward // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -105,7 +105,7 @@ // calling DecRef() once will delete it. Calling IncRef() allows to lock // it until the matching DecRef() is called void IncRef() { m_nRef++; } - void DecRef() { if ( !--m_nRef ) delete this; } + void DecRef() { if ( --m_nRef == 0 ) delete this; } // interpret renderer parameters: arbitrary string whose interpretatin is // left to the derived classes @@ -660,7 +660,7 @@ // calling DecRef() once will delete it. Calling IncRef() allows to lock // it until the matching DecRef() is called void IncRef() { m_nRef++; } - void DecRef() { if ( !--m_nRef ) delete this; } + void DecRef() { if ( --m_nRef == 0 ) delete this; } // setters void SetTextColour(const wxColour& colText) { m_colText = colText; } diff -ur wxWidgets-2.6.3/include/wx/gtk/scrolwin.h wxWidgets-2.6.3.3/include/wx/gtk/scrolwin.h --- wxWidgets-2.6.3/include/wx/gtk/scrolwin.h 2005-03-17 16:21:42.000000000 -0500 +++ wxWidgets-2.6.3.3/include/wx/gtk/scrolwin.h 2006-06-04 13:00:09.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Robert Roebling // Modified by: // Created: 01/02/97 -// RCS-ID: $Id: scrolwin.h,v 1.22 2005/03/17 21:21:42 JS Exp $ +// RCS-ID: $Id: scrolwin.h,v 1.22.2.2 2006/06/04 17:00:09 PC Exp $ // Copyright: (c) Robert Roebling // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -154,17 +154,9 @@ void OnPaint(wxPaintEvent& event); void OnChar(wxKeyEvent& event); - void GtkVScroll( float value, unsigned int scroll_type ); - void GtkHScroll( float value, unsigned int scroll_type ); - void GtkVConnectEvent(); - void GtkHConnectEvent(); - void GtkVDisconnectEvent(); - void GtkHDisconnectEvent(); - // Calculate scroll increment virtual int CalcScrollInc(wxScrollWinEvent& event); - // Overridden from wxWidgets due callback being static virtual void SetScrollPos( int orient, int pos, bool refresh = TRUE ); #if WXWIN_COMPATIBILITY_2_2 @@ -192,6 +184,13 @@ double m_scaleY,m_scaleX; private: + void DoScroll(int orient, int pos, int* posOld, int pixelsPerLine); + void DoAdjustScrollbars(GtkAdjustment* adj, + int pixelsPerLine, + int winSize, + int virtSize, + int *linesPerPage); + DECLARE_EVENT_TABLE() DECLARE_DYNAMIC_CLASS(wxScrolledWindow) }; diff -ur wxWidgets-2.6.3/include/wx/gtk/window.h wxWidgets-2.6.3.3/include/wx/gtk/window.h --- wxWidgets-2.6.3/include/wx/gtk/window.h 2006-03-18 08:59:33.000000000 -0500 +++ wxWidgets-2.6.3.3/include/wx/gtk/window.h 2006-05-29 03:31:23.000000000 -0400 @@ -2,7 +2,7 @@ // Name: wx/gtk/window.h // Purpose: // Author: Robert Roebling -// Id: $Id: window.h,v 1.128.2.1 2006/03/18 13:59:33 RR Exp $ +// Id: $Id: window.h,v 1.128.2.2 2006/05/29 07:31:23 PC Exp $ // Copyright: (c) 1998 Robert Roebling // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -276,6 +276,8 @@ virtual void DoSetToolTip( wxToolTip *tip ); #endif // wxUSE_TOOLTIPS + void HandleScrollEvent(GtkAdjustment* adj); + protected: // common part of all ctors (not virtual because called from ctor) void Init(); diff -ur wxWidgets-2.6.3/include/wx/list.h wxWidgets-2.6.3.3/include/wx/list.h --- wxWidgets-2.6.3/include/wx/list.h 2006-01-18 03:33:59.000000000 -0500 +++ wxWidgets-2.6.3.3/include/wx/list.h 2006-07-01 21:27:37.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Julian Smart // Modified by: VZ at 16/11/98: WX_DECLARE_LIST() and typesafe lists added // Created: 29/01/98 -// RCS-ID: $Id: list.h,v 1.93.2.2 2006/01/18 08:33:59 JS Exp $ +// RCS-ID: $Id: list.h,v 1.93.2.3 2006/07/02 01:27:37 VZ Exp $ // Copyright: (c) 1998 Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -178,7 +178,9 @@ const compatibility_iterator* operator->() const { return this; } \ \ bool operator==(const compatibility_iterator& i) const \ - { return (m_list == i.m_list) && (m_iter == i.m_iter); } \ + { return (m_list == i.m_list) && (m_iter == i.m_iter) \ + || !m_list && (i.m_iter == i.m_list->end()) \ + || !i.m_list && (m_iter == m_list->end()); } \ bool operator!=(const compatibility_iterator& i) const \ { return !( operator==( i ) ); } \ operator bool() const \ @@ -199,7 +201,8 @@ compatibility_iterator GetPrevious() const \ { \ iterator i = m_iter; \ - return compatibility_iterator( m_list, --i ); \ + i != m_list->begin() ? --i : i = m_list->end(); \ + return compatibility_iterator( m_list, i ); \ } \ int IndexOf() const \ { \ diff -ur wxWidgets-2.6.3/include/wx/metafile.h wxWidgets-2.6.3.3/include/wx/metafile.h --- wxWidgets-2.6.3/include/wx/metafile.h 2005-08-19 09:48:19.000000000 -0400 +++ wxWidgets-2.6.3.3/include/wx/metafile.h 2006-06-26 10:37:34.000000000 -0400 @@ -4,7 +4,7 @@ // Author: wxWidgets team // Modified by: // Created: 13.01.00 -// RCS-ID: $Id: metafile.h,v 1.14 2005/08/19 13:48:19 MW Exp $ +// RCS-ID: $Id: metafile.h,v 1.14.2.1 2006/06/26 14:37:34 VZ Exp $ // Copyright: (c) wxWidgets team // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -28,16 +28,19 @@ #if defined(__WXPALMOS__) #include "wx/palmos/enhmeta.h" #else - #include "wx/msw/enhmeta.h" + #include "wx/msw/enhmeta.h" #endif - // map all metafile classes to enh metafile - #if !wxUSE_WIN_METAFILES_ALWAYS + #if wxUSE_WIN_METAFILES_ALWAYS + // use normal metafiles as well + #include "wx/msw/metafile.h" + #else // also map all metafile classes to enh metafile typedef wxEnhMetaFile wxMetafile; typedef wxEnhMetaFileDC wxMetafileDC; -#if wxUSE_DRAG_AND_DROP - typedef wxEnhMetaFileDataObject wxMetafileDataObject; -#endif + #if wxUSE_DRAG_AND_DROP + typedef wxEnhMetaFileDataObject wxMetafileDataObject; + #endif + // this flag will be set if wxMetafile class is wxEnhMetaFile #define wxMETAFILE_IS_ENH #endif // wxUSE_WIN_METAFILES_ALWAYS @@ -45,8 +48,8 @@ #if defined(__WXPALMOS__) #include "wx/palmos/metafile.h" #else - #include "wx/msw/metafile.h" - #endif + #include "wx/msw/metafile.h" + #endif #endif #elif defined(__WXPM__) #include "wx/os2/metafile.h" @@ -55,5 +58,5 @@ #endif #endif // wxUSE_METAFILE -#endif - // _WX_METAFILE_H_BASE_ + +#endif // _WX_METAFILE_H_BASE_ diff -ur wxWidgets-2.6.3/include/wx/notebook.h wxWidgets-2.6.3.3/include/wx/notebook.h --- wxWidgets-2.6.3/include/wx/notebook.h 2005-06-26 11:46:08.000000000 -0400 +++ wxWidgets-2.6.3.3/include/wx/notebook.h 2006-04-19 05:33:32.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Vadim Zeitlin // Modified by: // Created: 01.02.01 -// RCS-ID: $Id: notebook.h,v 1.53 2005/06/26 15:46:08 RR Exp $ +// RCS-ID: $Id: notebook.h,v 1.53.2.1 2006/04/19 09:33:32 RL Exp $ // Copyright: (c) 1996-2000 Vadim Zeitlin // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -95,12 +95,14 @@ virtual wxColour GetThemeBackgroundColour() const { return wxNullColour; } +#if WX_USE_RESERVED_VIRTUALS // Reserved for future use virtual void ReservedNotebookFunc1() {} virtual void ReservedNotebookFunc2() {} virtual void ReservedNotebookFunc3() {} virtual void ReservedNotebookFunc4() {} virtual void ReservedNotebookFunc5() {} +#endif protected: DECLARE_NO_COPY_CLASS(wxNotebookBase) diff -ur wxWidgets-2.6.3/include/wx/object.h wxWidgets-2.6.3.3/include/wx/object.h --- wxWidgets-2.6.3/include/wx/object.h 2005-07-22 12:56:23.000000000 -0400 +++ wxWidgets-2.6.3.3/include/wx/object.h 2006-04-19 05:33:33.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Julian Smart // Modified by: Ron Lee // Created: 01/02/97 -// RCS-ID: $Id: object.h,v 1.119 2005/07/22 16:56:23 ABX Exp $ +// RCS-ID: $Id: object.h,v 1.119.2.1 2006/04/19 09:33:33 RL Exp $ // Copyright: (c) 1997 Julian Smart // (c) 2001 Ron Lee // Licence: wxWindows licence @@ -469,6 +469,7 @@ void UnRef(); +#if WX_USE_RESERVED_VIRTUALS // Reserved for future use virtual void ReservedObjectFunc1() {} virtual void ReservedObjectFunc2() {} @@ -479,6 +480,7 @@ virtual void ReservedObjectFunc7() {} virtual void ReservedObjectFunc8() {} virtual void ReservedObjectFunc9() {} +#endif protected: // ensure that our data is not shared with anybody else: if we have no diff -ur wxWidgets-2.6.3/include/wx/platform.h wxWidgets-2.6.3.3/include/wx/platform.h --- wxWidgets-2.6.3/include/wx/platform.h 2006-01-18 05:25:00.000000000 -0500 +++ wxWidgets-2.6.3.3/include/wx/platform.h 2006-05-19 12:57:07.000000000 -0400 @@ -4,7 +4,7 @@ * Author: Vadim Zeitlin * Modified by: * Created: 29.10.01 (extracted from wx/defs.h) -* RCS-ID: $Id: platform.h,v 1.81.2.3 2006/01/18 10:25:00 JS Exp $ +* RCS-ID: $Id: platform.h,v 1.81.2.4 2006/05/19 16:57:07 PC Exp $ * Copyright: (c) 1997-2001 Vadim Zeitlin * Licence: wxWindows licence */ @@ -513,10 +513,13 @@ ... no gcc at all or gcc < 3.1 ... # endif */ -#define wxCHECK_GCC_VERSION( major, minor ) \ - ( defined(__GNUC__) && defined(__GNUC_MINOR__) \ - && ( ( __GNUC__ > (major) ) \ - || ( __GNUC__ == (major) && __GNUC_MINOR__ >= (minor) ) ) ) +#if defined(__GNUC__) && defined(__GNUC_MINOR__) + #define wxCHECK_GCC_VERSION( major, minor ) \ + ( ( __GNUC__ > (major) ) \ + || ( __GNUC__ == (major) && __GNUC_MINOR__ >= (minor) ) ) +#else + #define wxCHECK_GCC_VERSION( major, minor ) 0 +#endif /* This macro can be used to check that the version of mingw32 compiler is diff -ur wxWidgets-2.6.3/include/wx/prntbase.h wxWidgets-2.6.3.3/include/wx/prntbase.h --- wxWidgets-2.6.3/include/wx/prntbase.h 2005-07-28 18:20:05.000000000 -0400 +++ wxWidgets-2.6.3.3/include/wx/prntbase.h 2006-06-28 08:56:04.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Julian Smart // Modified by: // Created: 01/02/97 -// RCS-ID: $Id: prntbase.h,v 1.45 2005/07/28 22:20:05 VZ Exp $ +// RCS-ID: $Id: prntbase.h,v 1.45.2.1 2006/06/28 12:56:04 JS Exp $ // Copyright: (c) Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -571,6 +571,9 @@ virtual void AdjustScrollbars(wxPreviewCanvas *canvas); virtual bool RenderPage(int pageNum); virtual void SetZoom(int percent); +#if wxABI_VERSION >= 20604 + virtual int GetZoom() const; +#endif virtual bool Print(bool interactive); virtual void DetermineScaling(); diff -ur wxWidgets-2.6.3/include/wx/rawbmp.h wxWidgets-2.6.3.3/include/wx/rawbmp.h --- wxWidgets-2.6.3/include/wx/rawbmp.h 2006-01-26 07:26:37.000000000 -0500 +++ wxWidgets-2.6.3.3/include/wx/rawbmp.h 2006-05-29 13:54:54.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Eric Kidd, Vadim Zeitlin // Modified by: // Created: 10.03.03 -// RCS-ID: $Id: rawbmp.h,v 1.30.2.1 2006/01/26 12:26:37 RR Exp $ +// RCS-ID: $Id: rawbmp.h,v 1.30.2.2 2006/05/29 17:54:54 MW Exp $ // Copyright: (c) 2002 Vadim Zeitlin // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -71,7 +71,7 @@ } */ -#ifdef __VISUALC__ +#if defined __VISUALC__ && __VISUALC__ >= 1200 // VC++ gives an absolutely harmless warning for wxPixelData ctor #pragma warning(push) #pragma warning(disable: 4355) // 'this' used in initializer list @@ -717,7 +717,7 @@ { }; -#ifdef __VISUALC__ +#if defined __VISUALC__ && __VISUALC__ >= 1200 #pragma warning(pop) #endif diff -ur wxWidgets-2.6.3/include/wx/setup_inc.h wxWidgets-2.6.3.3/include/wx/setup_inc.h --- wxWidgets-2.6.3/include/wx/setup_inc.h 2005-07-29 20:36:30.000000000 -0400 +++ wxWidgets-2.6.3.3/include/wx/setup_inc.h 2006-04-19 10:36:49.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Vadim Zeitlin // Modified by: // Created: -// RCS-ID: $Id: setup_inc.h,v 1.24 2005/07/30 00:36:30 VZ Exp $ +// RCS-ID: $Id: setup_inc.h,v 1.24.2.1 2006/04/19 14:36:49 RL Exp $ // Copyright: (c) Vadim Zeitlin // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -41,6 +41,14 @@ // Recommended setting: 0 (please update your code) #define WXWIN_COMPATIBILITY_2_4 1 +// This setting controls the inclusion of reserved virtual functions +// that were introduced just prior to the 2.6 freeze but have been +// removed again for 2.7+ +// +// Default is 1, typically you should not change it unless you know +// exactly why you don't want them included. +#define WX_USE_RESERVED_VIRTUALS 1 + // MSW-only: Set to 0 for accurate dialog units, else 1 for old behaviour when // default system font is used for wxWindow::GetCharWidth/Height() instead of // the current font. diff -ur wxWidgets-2.6.3/include/wx/stream.h wxWidgets-2.6.3.3/include/wx/stream.h --- wxWidgets-2.6.3/include/wx/stream.h 2005-06-26 11:46:08.000000000 -0400 +++ wxWidgets-2.6.3.3/include/wx/stream.h 2006-04-19 05:33:33.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Guilhem Lavaux, Guillermo Rodriguez Garcia, Vadim Zeitlin // Modified by: // Created: 11/07/98 -// RCS-ID: $Id: stream.h,v 1.71 2005/06/26 15:46:08 RR Exp $ +// RCS-ID: $Id: stream.h,v 1.71.2.1 2006/04/19 09:33:33 RL Exp $ // Copyright: (c) Guilhem Lavaux // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -95,6 +95,7 @@ #endif // WXWIN_COMPATIBILITY_2_2 +#if WX_USE_RESERVED_VIRTUALS // Reserved for future use virtual void ReservedStreamFunc1() {} virtual void ReservedStreamFunc2() {} @@ -105,6 +106,7 @@ virtual void ReservedStreamFunc7() {} virtual void ReservedStreamFunc8() {} virtual void ReservedStreamFunc9() {} +#endif protected: virtual wxFileOffset OnSysSeek(wxFileOffset seek, wxSeekMode mode); diff -ur wxWidgets-2.6.3/include/wx/string.h wxWidgets-2.6.3.3/include/wx/string.h --- wxWidgets-2.6.3/include/wx/string.h 2005-12-15 14:26:27.000000000 -0500 +++ wxWidgets-2.6.3.3/include/wx/string.h 2006-07-06 06:29:58.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Vadim Zeitlin // Modified by: // Created: 29/01/98 -// RCS-ID: $Id: string.h,v 1.206.2.3 2005/12/15 19:26:27 VZ Exp $ +// RCS-ID: $Id: string.h,v 1.206.2.4 2006/07/06 10:29:58 ABX Exp $ // Copyright: (c) 1998 Vadim Zeitlin // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -299,6 +299,53 @@ typedef value_type *iterator; typedef const value_type *const_iterator; +#if wxABI_VERSION >= 20604 + +#define wxSTRING_REVERSE_ITERATOR(name, const_or_not) \ + class name \ + { \ + public: \ + typedef wxChar value_type; \ + typedef const_or_not value_type& reference; \ + typedef const_or_not value_type *pointer; \ + typedef const_or_not value_type *iterator_type; \ + \ + name(iterator_type i) : m_cur(i) { } \ + name(const name& ri) : m_cur(ri.m_cur) { } \ + \ + iterator_type base() const { return m_cur; } \ + \ + reference operator*() const { return *(m_cur - 1); } \ + \ + name& operator++() { --m_cur; return *this; } \ + name operator++(int) { name tmp = *this; --m_cur; return tmp; } \ + name& operator--() { ++m_cur; return *this; } \ + name operator--(int) { name tmp = *this; ++m_cur; return tmp; } \ + \ + bool operator==(name ri) const { return m_cur == ri.m_cur; } \ + bool operator!=(name ri) const { return !(*this == ri); } \ + \ + private: \ + iterator_type m_cur; \ + } + + wxSTRING_REVERSE_ITERATOR(const_reverse_iterator, const); + + #define wxSTRING_CONST + wxSTRING_REVERSE_ITERATOR(reverse_iterator, wxSTRING_CONST); + #undef wxSTRING_CONST + + #undef wxSTRING_REVERSE_ITERATOR + + // first element of the reversed string + const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } + reverse_iterator rbegin() { return reverse_iterator(end()); } + // one beyond the end of the reversed string + const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } + reverse_iterator rend() { return reverse_iterator(begin()); } + +#endif // ABI >= 2.6.4 + // constructors and destructor // ctor for an empty string wxStringBase() { Init(); } diff -ur wxWidgets-2.6.3/include/wx/tglbtn.h wxWidgets-2.6.3.3/include/wx/tglbtn.h --- wxWidgets-2.6.3/include/wx/tglbtn.h 2005-05-04 14:52:05.000000000 -0400 +++ wxWidgets-2.6.3.3/include/wx/tglbtn.h 2006-05-23 13:53:50.000000000 -0400 @@ -5,7 +5,7 @@ // Author: John Norris, minor changes by Axel Schlueter // Modified by: // Created: 08.02.01 -// RCS-ID: $Id: tglbtn.h,v 1.11 2005/05/04 18:52:05 JS Exp $ +// RCS-ID: $Id: tglbtn.h,v 1.11.2.1 2006/05/23 17:53:50 JS Exp $ // Copyright: (c) 2000 Johnny C. Norris II // License: wxWindows Licence ///////////////////////////////////////////////////////////////////////////// @@ -27,7 +27,9 @@ #define EVT_TOGGLEBUTTON(id, fn) \ wx__DECLARE_EVT1(wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, id, wxCommandEventHandler(fn)) -#if defined(__WXMSW__) +#if defined(__WXUNIVERSAL__) + #include "wx/univ/tglbtn.h" +#elif defined(__WXMSW__) #include "wx/msw/tglbtn.h" #elif defined(__WXGTK__) #include "wx/gtk/tglbtn.h" diff -ur wxWidgets-2.6.3/include/wx/toplevel.h wxWidgets-2.6.3.3/include/wx/toplevel.h --- wxWidgets-2.6.3/include/wx/toplevel.h 2005-06-26 11:46:08.000000000 -0400 +++ wxWidgets-2.6.3.3/include/wx/toplevel.h 2006-04-19 05:33:33.000000000 -0400 @@ -5,7 +5,7 @@ // Author: Vadim Zeitlin, Vaclav Slavik // Modified by: // Created: 06.08.01 -// RCS-ID: $Id: toplevel.h,v 1.53 2005/06/26 15:46:08 RR Exp $ +// RCS-ID: $Id: toplevel.h,v 1.53.2.1 2006/04/19 09:33:33 RL Exp $ // Copyright: (c) 2001 Vadim Zeitlin // Vaclav Slavik // Licence: wxWindows licence @@ -206,6 +206,7 @@ // do the window-specific processing after processing the update event virtual void DoUpdateWindowUI(wxUpdateUIEvent& event) ; +#if WX_USE_RESERVED_VIRTUALS // Reserved for future use virtual void ReservedTopLevelWindowFunc1() {} virtual void ReservedTopLevelWindowFunc2() {} @@ -216,6 +217,7 @@ virtual void ReservedTopLevelWindowFunc7() {} virtual void ReservedTopLevelWindowFunc8() {} virtual void ReservedTopLevelWindowFunc9() {} +#endif protected: // the frame client to screen translation should take account of the diff -ur wxWidgets-2.6.3/include/wx/version.h wxWidgets-2.6.3.3/include/wx/version.h --- wxWidgets-2.6.3/include/wx/version.h 2006-01-18 05:25:00.000000000 -0500 +++ wxWidgets-2.6.3.3/include/wx/version.h 2006-05-02 22:25:43.000000000 -0400 @@ -4,7 +4,7 @@ * Author: Julian Smart * Modified by: Ryan Norton (Converted to C) * Created: 29/01/98 -* RCS-ID: $Id: version.h,v 1.69.2.2 2006/01/18 10:25:00 JS Exp $ +* RCS-ID: $Id: version.h,v 1.69.2.4 2006/05/03 02:25:43 RD Exp $ * Copyright: (c) 1998 Julian Smart * Licence: wxWindows licence */ @@ -22,7 +22,7 @@ #define wxMAJOR_VERSION 2 #define wxMINOR_VERSION 6 #define wxRELEASE_NUMBER 3 -#define wxSUBRELEASE_NUMBER 0 +#define wxSUBRELEASE_NUMBER 3 #define wxVERSION_STRING _T("wxWidgets 2.6.3") /* nothing to update below this line when updating the version */ diff -ur wxWidgets-2.6.3/include/wx/window.h wxWidgets-2.6.3.3/include/wx/window.h --- wxWidgets-2.6.3/include/wx/window.h 2006-01-30 23:02:41.000000000 -0500 +++ wxWidgets-2.6.3.3/include/wx/window.h 2006-04-19 05:33:34.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Vadim Zeitlin // Modified by: Ron Lee // Created: 01/02/97 -// RCS-ID: $Id: window.h,v 1.189.2.2 2006/01/31 04:02:41 RD Exp $ +// RCS-ID: $Id: window.h,v 1.189.2.3 2006/04/19 09:33:34 RL Exp $ // Copyright: (c) Vadim Zeitlin // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -1073,6 +1073,7 @@ // behaviour in the most common case virtual bool ShouldInheritColours() const { return false; } +#if WX_USE_RESERVED_VIRTUALS // Reserved for future use virtual void ReservedWindowFunc1() {} virtual void ReservedWindowFunc2() {} @@ -1083,6 +1084,7 @@ virtual void ReservedWindowFunc7() {} virtual void ReservedWindowFunc8() {} virtual void ReservedWindowFunc9() {} +#endif protected: // event handling specific to wxWindow @@ -1316,8 +1318,10 @@ // implements the window variants virtual void DoSetWindowVariant( wxWindowVariant variant ) ; +#if WX_USE_RESERVED_VIRTUALS // Reserved for future use void* m_windowReserved; +#endif private: // contains the last id generated by NewControlId diff -ur wxWidgets-2.6.3/include/wx/wx_cw_cm.h wxWidgets-2.6.3.3/include/wx/wx_cw_cm.h --- wxWidgets-2.6.3/include/wx/wx_cw_cm.h 2006-01-18 09:12:23.000000000 -0500 +++ wxWidgets-2.6.3.3/include/wx/wx_cw_cm.h 2006-05-09 10:30:49.000000000 -0400 @@ -4,7 +4,7 @@ Author: Stefan Csomor Modified by: Created: - RCS-ID: $Id: wx_cw_cm.h,v 1.22.2.1 2006/01/18 14:12:23 JS Exp $ + RCS-ID: $Id: wx_cw_cm.h,v 1.22.2.2 2006/05/09 14:30:49 VZ Exp $ Copyright: (c) Stefan Csomor Licence: wxWindows licence */ @@ -19,7 +19,9 @@ #error "this file is only for builds with Metrowerks CodeWarrior" #endif -#define WX_COMP_INLINE_NO_CLASS // defined if the compiler does not want the classname repeated for inlines within a class definition +// defined if the compiler does not want the classname repeated for inlines +// within a class definition +#define WX_COMP_INLINE_NO_CLASS #if __MWERKS__ >= 0x2400 && __MWERKS__ < 0x3200 #pragma old_argmatch on @@ -55,22 +57,23 @@ #endif #endif #elif defined( __WXMAC__) - #define USE_PRECOMPILED_MAC_HEADERS 0 /*Set to 0 if you don't want to use precompiled MacHeaders*/ + /* Set to 0 if you don't want to use precompiled MacHeaders */ + #define USE_PRECOMPILED_MAC_HEADERS 0 #define ACCESSOR_CALLS_ARE_FUNCTIONS 1 #define OPAQUE_TOOLBOX_STRUCTS 1 - - /*CW9 has mbstate_t*/ - #if defined(__MACH__) && __MWERKS__ < 0x3200 - typedef int mbstate_t; - #define _MBSTATE_T + + /* CW8.3+ has mbstate_t */ + #if defined(__MACH__) && __MWERKS__ < 0x3003 + typedef int mbstate_t; + #define _MBSTATE_T #endif - - /*CW9 has ssize_t*/ + + /* CW9 has ssize_t */ #if defined(__MACH__) && __MWERKS__ >= 0x3200 #define HAVE_SSIZE_T - #endif - - #include + #endif + + #include // for getting the correct expat includes #define MACOS_CLASSIC /* diff -ur wxWidgets-2.6.3/locale/de.po wxWidgets-2.6.3.3/locale/de.po --- wxWidgets-2.6.3/locale/de.po 2005-08-21 12:02:08.000000000 -0400 +++ wxWidgets-2.6.3.3/locale/de.po 2006-04-16 00:13:50.000000000 -0400 @@ -13,21 +13,22 @@ #: ../src/common/debugrpt.cpp:569 #, c-format msgid "\t%s: %s\n" -msgstr "" +msgstr "\t%s: %s\n" #: ../src/common/debugrpt.cpp:572 msgid "" "\n" "Please send this report to the program maintainer, thank you!\n" msgstr "" +"Senden Sie bitte diesen Bericht an den Programmbetreuer. Vielen Dank!\n" #: ../src/palmos/utils.cpp:206 msgid " " -msgstr "" +msgstr " " #: ../src/generic/dbgrptg.cpp:312 msgid " Thank you and we're sorry for the inconvenience!\n" -msgstr "" +msgstr " Vielen Dank und entschuldigen Sie die Unannehmlichkeiten!\n" #: ../src/common/log.cpp:321 #, c-format @@ -113,23 +114,23 @@ #: ../contrib/src/deprecated/resource.cpp:2390 #, c-format msgid "%s not a bitmap resource specification." -msgstr "%s gibt keine Quelle für eine Bitmap-Graphik an." +msgstr "%s gibt keine Quelle für eine Bitmap-Grafik an." #: ../contrib/src/deprecated/resource.cpp:2544 #, c-format msgid "%s not an icon resource specification." -msgstr "%s gibt keine Quelle für eine Icon-Graphik an." +msgstr "%s gibt keine Quelle für eine Icon-Grafik an." #: ../contrib/src/deprecated/resource.cpp:1901 #: ../contrib/src/deprecated/resource.cpp:2030 #: ../contrib/src/deprecated/resource.cpp:3123 #, c-format msgid "%s: ill-formed resource file syntax." -msgstr "%s: inkorrekter Syntax der Resource-Datei." +msgstr "%s: inkorrekte Syntax der Ressourcen-Datei." #: ../src/html/helpfrm.cpp:357 ../src/html/helpfrm.cpp:359 msgid "&About..." -msgstr "Übe&r..." +msgstr "Übe&r ..." #: ../src/common/stockitem.cpp:153 msgid "&Actual Size" @@ -176,7 +177,7 @@ #: ../src/generic/dbgrptg.cpp:320 msgid "&Debug report preview:" -msgstr "" +msgstr "Voransicht des Fehlerberichts:" #: ../src/common/stockitem.cpp:115 ../src/mac/carbon/textctrl.cpp:1076 #: ../src/msw/textctrl.cpp:2066 @@ -261,9 +262,8 @@ msgstr "&Nein" #: ../src/generic/dbgrptg.cpp:342 -#, fuzzy msgid "&Notes:" -msgstr "&Nein" +msgstr "&Hinweise:" #: ../src/common/stockitem.cpp:133 ../src/generic/fontdlgg.cpp:368 #: ../src/generic/fontdlgg.cpp:375 @@ -272,11 +272,11 @@ #: ../src/common/stockitem.cpp:134 msgid "&Open" -msgstr "&Öffnen..." +msgstr "&Öffnen ..." #: ../src/html/helpfrm.cpp:352 msgid "&Open..." -msgstr "Öffnen..." +msgstr "Öffnen ..." #: ../src/common/stockitem.cpp:135 ../src/mac/carbon/textctrl.cpp:1075 #: ../src/msw/textctrl.cpp:2065 @@ -301,7 +301,7 @@ #: ../src/common/prntbase.cpp:880 msgid "&Print..." -msgstr "Drucken..." +msgstr "Drucken ..." #: ../src/common/stockitem.cpp:139 msgid "&Properties" @@ -335,7 +335,7 @@ #: ../src/generic/logg.cpp:505 msgid "&Save..." -msgstr "&Sichern..." +msgstr "&Sichern ..." #: ../src/generic/tipdlg.cpp:238 msgid "&Show tips at startup" @@ -445,25 +445,25 @@ #: ../src/common/debugrpt.cpp:559 msgid "*** A debug report has been generated\n" -msgstr "" +msgstr "*** Ein Fehlerbericht wurde erstellt.\n" #: ../src/common/debugrpt.cpp:562 msgid "*** And includes the following files:\n" -msgstr "" +msgstr "*** Und beinhaltet die folgenden Dateien:\n" #: ../src/common/debugrpt.cpp:560 #, c-format msgid "*** It can be found in \"%s\"\n" -msgstr "" +msgstr "*** Sie finden ihn in \"%s\"\n" #: ../contrib/src/deprecated/resource.cpp:1840 #: ../contrib/src/deprecated/resource.cpp:1970 #: ../contrib/src/deprecated/resource.cpp:3062 -#, fuzzy msgid "" ", expected static, #include or #define\n" "while parsing resource." -msgstr "Erwarte 'char' während der Suche in einer Ressource." +msgstr ", erwartete static, #include oder #define\n" +"bei Abfrage einer Ressource." #: ../src/generic/dirctrlg.cpp:683 ../src/generic/filedlgg.cpp:740 msgid "." @@ -487,23 +487,20 @@ msgstr "11 x 17 Zoll" #: ../src/common/paper.cpp:191 -#, fuzzy msgid "12 x 11 in" -msgstr "10 x 14 Zoll" +msgstr "12 x 11 Zoll" #: ../src/common/paper.cpp:148 -#, fuzzy msgid "15 x 11 in" -msgstr "10 x 14 Zoll" +msgstr "15 x 11 Zoll" #: ../src/common/paper.cpp:139 msgid "6 3/4 Envelope, 3 5/8 x 6 1/2 in" msgstr "6 3/4 Umschlag, 3 5/8 x 6 1/2 Zoll" #: ../src/common/paper.cpp:146 -#, fuzzy msgid "9 x 11 in" -msgstr "11 x 17 Zoll" +msgstr "9 x 11 Zoll" #: ../src/html/htmprint.cpp:309 msgid ": file does not exist!" @@ -563,7 +560,7 @@ #: ../src/generic/dbgrptg.cpp:304 msgid "A debug report has been generated in the directory\n" -msgstr "" +msgstr "Fehlerbericht wurde erstellt im Verzeichnis\n" #: ../src/common/xtixml.cpp:409 msgid "A non empty collection must consist of 'element' nodes" @@ -574,24 +571,20 @@ msgstr "" #: ../src/common/paper.cpp:163 -#, fuzzy msgid "A3 Extra 322 x 445 mm" -msgstr "C3 Umschlag, 324 x 458 mm" +msgstr "A3 Extra, 322 x 445 mm" #: ../src/common/paper.cpp:168 -#, fuzzy msgid "A3 Extra Transverse 322 x 445 mm" -msgstr "C3 Umschlag, 324 x 458 mm" +msgstr "A3 Extra quer, 322 x 445 mm" #: ../src/common/paper.cpp:177 -#, fuzzy msgid "A3 Rotated 420 x 297 mm" -msgstr "A4 Blatt, 210 x 297 mm" +msgstr "A3 gedreht, 420 x 297 mm" #: ../src/common/paper.cpp:167 -#, fuzzy msgid "A3 Transverse 297 x 420 mm" -msgstr "A3 Blatt, 297 x 420 mm" +msgstr "A3 quer, 297 x 420 mm" #: ../src/common/paper.cpp:113 msgid "A3 sheet, 297 x 420 mm" @@ -602,19 +595,16 @@ msgstr "" #: ../src/common/paper.cpp:160 -#, fuzzy msgid "A4 Plus 210 x 330 mm" -msgstr "A4 Blatt, 210 x 297 mm" +msgstr "A4 Plus, 210 x 330 mm" #: ../src/common/paper.cpp:178 -#, fuzzy msgid "A4 Rotated 297 x 210 mm" -msgstr "A3 Blatt, 297 x 420 mm" +msgstr "A4 gedreht, 297 x 210 mm" #: ../src/common/paper.cpp:155 -#, fuzzy msgid "A4 Transverse 210 x 297 mm" -msgstr "A4 Blatt, 210 x 297 mm" +msgstr "A4 quer, 210 x 297 mm" #: ../src/common/paper.cpp:104 msgid "A4 sheet, 210 x 297 mm" @@ -622,35 +612,31 @@ #: ../src/common/paper.cpp:114 msgid "A4 small sheet, 210 x 297 mm" -msgstr "A4 klein Blatt, 210 x 297 mm" +msgstr "A4 kleines Blatt, 210 x 297 mm" #: ../src/common/paper.cpp:164 -#, fuzzy msgid "A5 Extra 174 x 235 mm" -msgstr "A4 Blatt, 148 x 210 mm" +msgstr "A5 extra, 174 x 235 mm" #: ../src/common/paper.cpp:179 msgid "A5 Rotated 210 x 148 mm" -msgstr "" +msgstr "A5 gedreht, 210 x 148 mm" #: ../src/common/paper.cpp:161 -#, fuzzy msgid "A5 Transverse 148 x 210 mm" -msgstr "A4 Blatt, 148 x 210 mm" +msgstr "A5 quer, 148 x 210 mm" #: ../src/common/paper.cpp:115 msgid "A5 sheet, 148 x 210 mm" -msgstr "A4 Blatt, 148 x 210 mm" +msgstr "A5 Blatt, 148 x 210 mm" #: ../src/common/paper.cpp:171 -#, fuzzy msgid "A6 105 x 148 mm" -msgstr "10 x 14 Zoll" +msgstr "A6 105 x 148 mm" #: ../src/common/paper.cpp:184 -#, fuzzy msgid "A6 Rotated 148 x 105 mm" -msgstr "A4 Blatt, 148 x 210 mm" +msgstr "A6 gedreht, 148 x 105 mm" #: ../src/generic/fontdlgg.cpp:87 msgid "ABCDEFGabcdefg12345" @@ -666,7 +652,7 @@ #: ../src/html/helpfrm.cpp:444 msgid "Add current page to bookmarks" -msgstr "Aktuelle HTLM-Seite den Lesezeichen hinzufügen" +msgstr "Aktuelle Seite den Lesezeichen hinzufügen" #: ../src/generic/colrdlgg.cpp:299 msgid "Add to custom colours" @@ -740,13 +726,12 @@ msgstr "Eigenschaften" #: ../src/common/paper.cpp:144 -#, fuzzy msgid "B4 (ISO) 250 x 353 mm" -msgstr "B4 Blatt, 250 x 354 mm" +msgstr "B4 (ISO), 250 x 353 mm" #: ../src/common/paper.cpp:180 msgid "B4 (JIS) Rotated 364 x 257 mm" -msgstr "" +msgstr "B4 (JIS) gedreht, 364 x 257 mm" #: ../src/common/paper.cpp:134 msgid "B4 Envelope, 250 x 353 mm" @@ -758,16 +743,15 @@ #: ../src/common/paper.cpp:165 msgid "B5 (ISO) Extra 201 x 276 mm" -msgstr "" +msgstr "B5 (ISO) extra, 201 x 276 mm" #: ../src/common/paper.cpp:181 msgid "B5 (JIS) Rotated 257 x 182 mm" -msgstr "" +msgstr "B5 (JIS) gedreht, 257 x 182 mm" #: ../src/common/paper.cpp:162 -#, fuzzy msgid "B5 (JIS) Transverse 182 x 257 mm" -msgstr "B5 Blatt, 182 x 257 mm" +msgstr "B5 (JIS) quer, 182 x 257 mm" #: ../src/common/paper.cpp:135 msgid "B5 Envelope, 176 x 250 mm" @@ -779,11 +763,11 @@ #: ../src/common/paper.cpp:189 msgid "B6 (JIS) 128 x 182 mm" -msgstr "" +msgstr "B6 (JIS), 128 y 182 mm" #: ../src/common/paper.cpp:190 msgid "B6 (JIS) Rotated 182 x 128 mm" -msgstr "" +msgstr "B6 (JIS) gedreht, 182 x 128 mm" #: ../src/common/paper.cpp:136 msgid "B6 Envelope, 176 x 125 mm" @@ -795,7 +779,7 @@ #: ../src/common/imagbmp.cpp:94 msgid "BMP: Couldn't save invalid image." -msgstr "BMP: Konnte ungültige Format nicht sichern." +msgstr "BMP: Konnte ungültiges Image nicht sichern." #: ../src/common/imagbmp.cpp:298 msgid "BMP: Couldn't write RGB color map." @@ -1148,7 +1132,7 @@ #: ../src/html/helpdata.cpp:312 #, c-format msgid "Cannot open contents file: %s" -msgstr "Kann den Inhalt der Datei %s nicht öffnen!" +msgstr "Kann den Inhaltsdatei %s nicht öffnen!" #: ../src/xrc/xmlres.cpp:421 #, c-format @@ -1198,9 +1182,8 @@ msgstr "Kann 'Thread' nicht starten : Fehler beim 'TLS' schreiben" #: ../src/mac/carbon/mpthread.cpp:977 ../src/mac/carbon/thread.cpp:1174 -#, fuzzy msgid "Cannot wait for thread termination." -msgstr "Kann nicht auf Threadende warten" +msgstr "Kann nicht auf Beendigung des Threads warten" #: ../src/mac/carbon/mpthread.cpp:893 ../src/mac/carbon/thread.cpp:1082 msgid "Cant create the thread event queue" @@ -1293,7 +1276,7 @@ #: ../src/html/htmlwin.cpp:386 msgid "Connecting..." -msgstr "Verbinde..." +msgstr "Verbinde ..." #: ../src/html/helpfrm.cpp:476 msgid "Contents" @@ -1325,9 +1308,9 @@ #: ../contrib/src/deprecated/resource.cpp:1830 #: ../contrib/src/deprecated/resource.cpp:1960 -#, fuzzy, c-format +#, c-format msgid "Could not find resource include file %s." -msgstr "Konnte Datei %s nicht finden." +msgstr "Konnte 'resource include'-Datei %s nicht finden." #: ../src/generic/tabg.cpp:1048 msgid "Could not find tab for id" @@ -1344,6 +1327,8 @@ "Could not resolve control class or id '%s'. Use (non-zero) integer instead\n" " or provide #define (see manual for caveats)" msgstr "" +"Konnte Kontroll-Klasse oder ID '%s' nicht auflösen. Benutzen Sie statt dessen\n" +"einen Integer (nicht Null) oder #define (siehe Handbuch für Widersprüche)" #: ../contrib/src/deprecated/resource.cpp:1278 #, c-format @@ -1351,6 +1336,8 @@ "Could not resolve menu id '%s'. Use (non-zero) integer instead\n" "or provide #define (see manual for caveats)" msgstr "" +"Konnte Menü-ID '%s' nicht auflösen. Benutzen Sie statt dessen\n" +"einen Integer (nicht Null) oder #define (siehe Handbuch für Widersprüche)" #: ../src/common/prntbase.cpp:1272 msgid "Could not start document preview." @@ -1497,16 +1484,15 @@ #: ../src/generic/dbgrptg.cpp:295 #, c-format msgid "Debug report \"%s\"" -msgstr "" +msgstr "Fehlerbericht \"%s\"" #: ../src/common/debugrpt.cpp:203 -#, fuzzy msgid "Debug report couldn't be created." -msgstr "Verzeichnis '%s' konnte nicht angelegt werden." +msgstr "Fehlerbericht konnte nicht erstellt werden." #: ../src/common/debugrpt.cpp:539 msgid "Debug report generation has failed." -msgstr "" +msgstr "Erstellung des Fehlerberichts fehlgeschlagen." #: ../src/generic/fontdlgg.cpp:227 msgid "Decorative" @@ -1517,9 +1503,8 @@ msgstr "Standard Kodierung" #: ../src/generic/prntdlgg.cpp:506 -#, fuzzy msgid "Default printer" -msgstr "Standard Kodierung" +msgstr "Standard-Drucker" #: ../contrib/src/gizmos/editlbox.cpp:160 msgid "Delete item" @@ -1532,7 +1517,7 @@ #: ../src/generic/dirctrlg.cpp:656 msgid "Desktop" -msgstr "" +msgstr "Desktop" #: ../src/msw/dialup.cpp:395 msgid "" @@ -1548,9 +1533,8 @@ msgstr "Wussten Sie schon..." #: ../src/motif/filedlg.cpp:225 -#, fuzzy msgid "Directories" -msgstr "Dekorativ" +msgstr "Verzeichnisse" #: ../src/common/filefn.cpp:1177 #, c-format @@ -1593,7 +1577,7 @@ msgstr "" "Wollen Sie den Befehl zum %s von Dateien mit der Erweiterung \"%s\" " "ändern ?\n" -"Aktueller Wert ist;\n" +"Aktueller Wert ist \n" "%s,\n" "Neuer Wert ist\n" "%s %1" @@ -1605,7 +1589,7 @@ #: ../src/common/sizer.cpp:1839 msgid "Don't Save" -msgstr "" +msgstr "Nicht speichern" #: ../src/html/htmlwin.cpp:451 ../src/msw/frame.cpp:211 msgid "Done" @@ -1617,7 +1601,7 @@ #: ../src/common/paper.cpp:183 msgid "Double Japanese Postcard Rotated 148 x 200 mm" -msgstr "" +msgstr "Doppelte japanische Postkarte, gedreht, 148 x 200 mm" #: ../src/common/xtixml.cpp:271 #, c-format @@ -1646,25 +1630,24 @@ msgstr "Geben Sie eine Zahl zwischen %d und %d ein:" #: ../src/generic/dbgrptg.cpp:169 -#, fuzzy, c-format +#, c-format msgid "Enter command to open file \"%s\":" -msgstr "Kann Datei '%s' nicht öffnen" +msgstr "Befehl eingeben zum Öffnen der Datei '%s':" #: ../src/generic/helpext.cpp:443 msgid "Entries found" msgstr "Einträge gefunden" #: ../src/common/paper.cpp:149 -#, fuzzy msgid "Envelope Invite 220 x 220 mm" -msgstr "DL Umschlag, 110 x 220 mm" +msgstr "Umschlag Einladung, 220 x 220 mm" #: ../src/common/config.cpp:384 -#, fuzzy, c-format +#, c-format msgid "" "Environment variables expansion failed: missing '%c' at position %u in '%s'." msgstr "" -"Einstzen der Umgebungsvariablen schlug fehl. Es fehlt '%c' an Position %d in " +"Einsetzen der Umgebungsvariablen schlug fehl. Es fehlt '%c' an Position %d in " "'%s'." #: ../src/generic/dirctrlg.cpp:689 ../src/generic/dirctrlg.cpp:707 @@ -1711,11 +1694,11 @@ #: ../src/generic/progdlgg.cpp:202 msgid "Estimated time : " -msgstr "Geschätzte Zeit :" +msgstr "Geschätzte Zeit: " #: ../src/generic/dbgrptg.cpp:229 msgid "Executable files (*.exe)|*.exe|All files (*.*)|*.*||" -msgstr "" +msgstr "Ausführbare Dateien (*.exe)|*.exe|Alle Dateien (*.*)|*.*||" #: ../src/msw/utilsexc.cpp:753 #, c-format @@ -1734,29 +1717,28 @@ #: ../contrib/src/deprecated/resource.cpp:1869 #: ../contrib/src/deprecated/resource.cpp:1999 #: ../contrib/src/deprecated/resource.cpp:3091 -#, fuzzy msgid "Expected '*' while parsing resource." -msgstr "Erwarte '*' während der Suche in einer Ressource." +msgstr "Erwarte '*' beim Einlesen einer Ressource." #: ../contrib/src/deprecated/resource.cpp:1886 #: ../contrib/src/deprecated/resource.cpp:2015 #: ../contrib/src/deprecated/resource.cpp:3108 -#, fuzzy msgid "Expected '=' while parsing resource." -msgstr "Erwarte '=' während der Suche in einer Ressource." +msgstr "Erwarte '=' beim Einlesen einer Ressource." #: ../contrib/src/deprecated/resource.cpp:1855 #: ../contrib/src/deprecated/resource.cpp:1985 #: ../contrib/src/deprecated/resource.cpp:3077 -#, fuzzy msgid "Expected 'char' while parsing resource." -msgstr "Erwarte 'char' während der Suche in einer Ressource." +msgstr "Erwarte 'char' beim Einlesen einer Ressource." #: ../src/msw/registry.cpp:1140 #, c-format msgid "" "Exporting registry key: file \"%s\" already exists and won't be overwritten." msgstr "" +"Exportieren von Registrierschlüssel: Datei '%s' besteht bereits und" +"wird nicht überschrieben." #: ../src/common/fmapbase.cpp:143 msgid "Extended Unix Codepage for Japanese (EUC-JP)" @@ -1786,9 +1768,9 @@ msgstr "Änderung des Video-Modus gescheitert" #: ../src/common/debugrpt.cpp:237 -#, fuzzy, c-format +#, c-format msgid "Failed to clean up debug report directory \"%s\"" -msgstr "Das Verzeichnis %s/.gnome konnte nicht erzeugt werden." +msgstr "Fehlerbericht-Verzeichnis '%s' konnte nicht geleert werden." #: ../src/common/filename.cpp:191 msgid "Failed to close file handle" @@ -1830,7 +1812,7 @@ #: ../src/msw/registry.cpp:613 #, c-format msgid "Failed to copy the registry subkey '%s' to '%s'." -msgstr "Kopieren des Registry-Schlüssels von '%s' in '%s' gescheitert" +msgstr "Kopieren des Registry-Unterschlüssels von '%s' in '%s' gescheitert" #: ../src/msw/dde.cpp:989 msgid "Failed to create DDE string" @@ -1855,16 +1837,16 @@ #: ../src/msw/dde.cpp:447 #, c-format msgid "Failed to create connection to server '%s' on topic '%s'" -msgstr "Aufbau der Verbindung zur Server '%s' 'on topic' '%s' gescheitert" +msgstr "Aufbau der Verbindung zur Server '%s' bezüglich '%s' gescheitert" #: ../src/msw/cursor.cpp:218 msgid "Failed to create cursor." msgstr "Cursor konnte nicht erzeugt werden" #: ../src/common/debugrpt.cpp:202 -#, fuzzy, c-format +#, c-format msgid "Failed to create directory \"%s\"" -msgstr "Das Verzeichnis %s/.gnome konnte nicht erzeugt werden." +msgstr "Das Verzeichnis '%s' konnte nicht erzeugt werden." #: ../src/unix/mimetype.cpp:370 #, c-format @@ -1911,7 +1893,7 @@ #: ../src/msw/dde.cpp:650 msgid "Failed to establish an advise loop with DDE server" -msgstr "Aufbau einer 'advise Schleife\" mit dem DDE Server gescheitert" +msgstr "Aufbau einer 'advise Schleife' mit dem DDE Server gescheitert" #: ../src/msw/dialup.cpp:658 #, c-format @@ -1925,7 +1907,7 @@ #: ../src/common/debugrpt.cpp:666 msgid "Failed to execute curl, please install it in PATH." -msgstr "" +msgstr "Konnte curl nicht ausführen, installieren Sie es bitte in PATH." #: ../contrib/src/deprecated/resource.cpp:2489 #, c-format @@ -1933,6 +1915,8 @@ "Failed to find XBM resource %s.\n" "Forgot to use wxResourceLoadBitmapData?" msgstr "" +"Konnte XBM-Ressource %s nicht finden.\n" +"Vielleicht haben Sie vergessen, 'wxResourceLoadBitmapData' zu benutzen?" #: ../contrib/src/deprecated/resource.cpp:2643 #, c-format @@ -1940,6 +1924,8 @@ "Failed to find XBM resource %s.\n" "Forgot to use wxResourceLoadIconData?" msgstr "" +"Konnte XBM-Ressource %s nicht finden.\n" +"Vielleicht haben Sie vergessen, 'wxResourceLoadIconData' zu benutzen?" #: ../contrib/src/deprecated/resource.cpp:2504 #, c-format @@ -1947,6 +1933,8 @@ "Failed to find XPM resource %s.\n" "Forgot to use wxResourceLoadBitmapData?" msgstr "" +"Konnte XPM-Ressource %s nicht finden.\n" +"Vielleicht haben Sie vergessen, 'wxResourceLoadBitmapData' zu benutzen?" #: ../src/msw/dialup.cpp:718 #, c-format @@ -2005,9 +1993,9 @@ msgstr "Konnte das Bild %d aus der Datei '%s' nicht laden." #: ../src/msw/enhmeta.cpp:84 -#, fuzzy, c-format +#, c-format msgid "Failed to load metafile from file \"%s\"." -msgstr "Konnte das Bild %d aus der Datei '%s' nicht laden." +msgstr "Konnte Metadatei aus der Datei '%s' nicht laden." #: ../src/msw/volume.cpp:312 msgid "Failed to load mpr.dll." @@ -2050,7 +2038,7 @@ #: ../src/common/filename.cpp:788 msgid "Failed to open temporary file." -msgstr "Konnte vorübergehende Datei nicht öffnen." +msgstr "Konnte temporäre Datei nicht öffnen." #: ../src/msw/clipbrd.cpp:99 msgid "Failed to open the clipboard." @@ -2088,14 +2076,14 @@ "Versuch gescheitert, an die Kodierung für den Zeichensatz '%s' zu erinnern." #: ../src/common/debugrpt.cpp:220 -#, fuzzy, c-format +#, c-format msgid "Failed to remove debug report file \"%s\"" -msgstr "Konnte Sperr-Datei '%s' nicht löschen." +msgstr "Konnte Fehlerbericht-Datei '%s' nicht löschen." #: ../src/unix/snglinst.cpp:327 #, c-format msgid "Failed to remove lock file '%s'" -msgstr "Konnte Sperr-Datei '%s' nicht löschen." +msgstr "Konnte Sperr-Datei '%s' nicht löschen." #: ../src/unix/snglinst.cpp:293 #, c-format @@ -2105,12 +2093,12 @@ #: ../src/msw/registry.cpp:464 #, c-format msgid "Failed to rename registry value '%s' to '%s'." -msgstr "Umbenennen des Registrieungswertes '%s' in '%s' gescheitert" +msgstr "Umbenennen des Registrierungswertes '%s' in '%s' gescheitert" #: ../src/msw/registry.cpp:568 #, c-format msgid "Failed to rename the registry key '%s' to '%s'." -msgstr "Umbenennen des Registrieungsschlüssels von '%s' in '%s' gescheitert" +msgstr "Umbenennen des Registrierungsschlüssels von '%s' in '%s' gescheitert" #: ../src/msw/clipbrd.cpp:503 msgid "Failed to retrieve data from the clipboard." @@ -2174,7 +2162,7 @@ #: ../src/msw/dde.cpp:669 msgid "Failed to terminate the advise loop with DDE server" -msgstr "Versuch gescheitert, die 'advise Schleife mit DDE-Server zu beenden." +msgstr "Versuch gescheitert, die 'advise Schleife' mit DDE-Server zu beenden." #: ../src/msw/dialup.cpp:955 #, c-format @@ -2183,13 +2171,14 @@ #: ../src/common/filename.cpp:1933 #, c-format +# see man touch msgid "Failed to touch the file '%s'" -msgstr "Konnte die Datei '%s' nicht 'berühren'" +msgstr "Konnte die Datei '%s' nicht erzeugen" #: ../src/unix/snglinst.cpp:333 #, c-format msgid "Failed to unlock lock file '%s'" -msgstr "Konnte die Sperrung von Datei '%s' nicht aufheben" +msgstr "Konnte die Sperrung von Sperr-Datei '%s' nicht aufheben" #: ../src/msw/dde.cpp:318 #, c-format @@ -2201,9 +2190,9 @@ msgstr "Kann Benutzer-Konfigurations-Datei nicht aktualisieren." #: ../src/common/debugrpt.cpp:679 -#, fuzzy, c-format +#, c-format msgid "Failed to upload the debug report (error code %d)." -msgstr "Konnte keinen Standard Finden/Ersetzen-Dialog erstellen (Fehler %d)" +msgstr "Konnte Fehlerbericht nicht hochladen (Fehlercode %d)." #: ../src/unix/snglinst.cpp:173 #, c-format @@ -2239,7 +2228,7 @@ "Do you want to replace it?" msgstr "" "Datei '%s' existiert bereits.\n" -"Möchten Sie sie wirklich überschreiben?" +"Möchten Sie sie wirklich ersetzen?" #: ../src/common/textcmn.cpp:215 msgid "File couldn't be loaded." @@ -2254,9 +2243,8 @@ msgstr "Dateiname bereits vorhanden" #: ../src/motif/filedlg.cpp:226 -#, fuzzy msgid "Files" -msgstr "Datei" +msgstr "Dateien" #: ../src/common/filefn.cpp:1746 #, c-format @@ -2264,9 +2252,8 @@ msgstr "Dateien (%s)" #: ../src/motif/filedlg.cpp:224 -#, fuzzy msgid "Filter" -msgstr "Datei" +msgstr "Filter" #: ../src/html/helpfrm.cpp:491 msgid "Find" @@ -2286,11 +2273,11 @@ #: ../src/html/helpfrm.cpp:1220 msgid "Font size:" -msgstr "Font Größe:" +msgstr "Schrift-Größe:" #: ../src/unix/utilsunx.cpp:545 msgid "Fork failed" -msgstr "'Fork' gescheitert" +msgstr "Aufspaltung des Prozesses gescheitert" #: ../src/common/xtixml.cpp:235 msgid "Forward hrefs are not supported" @@ -2336,9 +2323,8 @@ msgstr "GTK+ Thema" #: ../src/common/prntbase.cpp:228 -#, fuzzy msgid "Generic PostScript" -msgstr "PostScript-Datei" +msgstr "PostScript generisch" #: ../src/common/paper.cpp:142 msgid "German Legal Fanfold, 8 1/2 x 13 in" @@ -2378,7 +2364,7 @@ #: ../src/generic/filedlgg.cpp:981 msgid "Go to parent directory" -msgstr "Gehe zum 'Parent'-Verzeichnis" +msgstr "Gehe zum übergeordneten Verzeichnis" #: ../src/common/prntbase.cpp:851 msgid "Goto Page" @@ -2390,7 +2376,7 @@ #: ../src/common/zstream.cpp:72 ../src/common/zstream.cpp:209 msgid "Gzip not supported by this version of zlib" -msgstr "Gzip wird nicht für diese zlib Version unterstützt" +msgstr "Gzip wird nicht von dieser zlib Version unterstützt" #: ../src/html/helpfrm.cpp:1574 msgid "HTML Help Project (*.hhp)|*.hhp|" @@ -2443,9 +2429,8 @@ msgstr "Start" #: ../src/generic/dirctrlg.cpp:654 -#, fuzzy msgid "Home directory" -msgstr "Verzeichnis anlegen" +msgstr "Home-Verzeichnis" #: ../include/wx/filefn.h:145 msgid "I64" @@ -2492,15 +2477,17 @@ #: ../contrib/src/deprecated/resource.cpp:2673 #: ../contrib/src/deprecated/resource.cpp:2684 -#, fuzzy, c-format +#, c-format msgid "Icon resource specification %s not found." -msgstr "XRC Resource '%s' (Klasse '%s') nicht gefunden !" +msgstr "Icon-Ressource-Spezifikation %s nicht gefunden !" #: ../src/generic/dbgrptg.cpp:344 msgid "" "If you have any additional information pertaining to this bug\n" "report, please enter it here and it will be joined to it:" msgstr "" +"Wenn Sie zusätzliche Informationen zu diesem Fehlerbericht\n" +"haben, geben Sie sie hier ein und sie werden hinzugefügt:" #: ../src/generic/dbgrptg.cpp:310 msgid "" @@ -2509,15 +2496,18 @@ "but be warned that it may hinder improving the program, so if\n" "at all possible please do continue with the report generation.\n" msgstr "" +"Wenn Sie den Fehlerbericht komplett verwerfen möchten, drücken Sie 'Cancel',\n" +"aber seien Sie gewarnt: dies verhindert vielleicht die Verbesserung des\n" +"Programms, also setzen Sie das Erstellen des Fehlerberichts nach Möglichkeit fort.\n" #: ../src/msw/registry.cpp:1304 #, c-format msgid "Ignoring value \"%s\" of the key \"%s\"." -msgstr "" +msgstr "Ignoriere Wert \"%s\" vom Schlüssel \"%s\"." #: ../contrib/src/deprecated/resource.cpp:271 msgid "Ill-formed resource file syntax." -msgstr "Verformter Quelldatei syntax." +msgstr "Ungültige Syntax der Quelldatei." #: ../src/common/xtistrm.cpp:260 msgid "Illegal Object Class (Non-wxEvtHandler) as Event Source" @@ -2589,7 +2579,7 @@ #: ../src/common/init.cpp:232 msgid "Initialization failed in post init, aborting." -msgstr "" +msgstr "Initialisierung während 'post init' fehlgeschlagen, Abbruch." #: ../src/common/xtistrm.cpp:704 msgid "Internal error, illegal wxCustomTypeInfo" @@ -2607,7 +2597,7 @@ #: ../src/common/appcmn.cpp:249 #, c-format msgid "Invalid display mode specification '%s'." -msgstr "Ungültige Angabe '%s' des Displays." +msgstr "Ungültige Angabe '%s' des Displaymodes." #: ../src/x11/app.cpp:128 #, c-format @@ -2650,55 +2640,55 @@ #: ../src/common/paper.cpp:170 msgid "Japanese Double Postcard 200 x 148 mm" -msgstr "" +msgstr "Japanische Doppel-Postkarte, 200 x 148 mm" #: ../src/common/paper.cpp:174 msgid "Japanese Envelope Chou #3" -msgstr "" +msgstr "Japanischer Umschlag Chou #3" #: ../src/common/paper.cpp:187 msgid "Japanese Envelope Chou #3 Rotated" -msgstr "" +msgstr "Japanischer Umschlag Chou #3 gedreht" #: ../src/common/paper.cpp:175 msgid "Japanese Envelope Chou #4" -msgstr "" +msgstr "Japanischer Umschlag Chou #4" #: ../src/common/paper.cpp:188 msgid "Japanese Envelope Chou #4 Rotated" -msgstr "" +msgstr "Japanischer Umschlag Chou #4 gedreht" #: ../src/common/paper.cpp:172 msgid "Japanese Envelope Kaku #2" -msgstr "" +msgstr "Japanischer Umschlag Chou #4" #: ../src/common/paper.cpp:185 msgid "Japanese Envelope Kaku #2 Rotated" -msgstr "" +msgstr "Japanischer Umschlag Kaku #2 gedreht" #: ../src/common/paper.cpp:173 msgid "Japanese Envelope Kaku #3" -msgstr "" +msgstr "Japanischer Umschlag Kaku #3" #: ../src/common/paper.cpp:186 msgid "Japanese Envelope Kaku #3 Rotated" -msgstr "" +msgstr "Japanischer Umschlag Kaku #3 gedreht" #: ../src/common/paper.cpp:192 msgid "Japanese Envelope You #4" -msgstr "" +msgstr "Japanischer Umschlag You #4" #: ../src/common/paper.cpp:193 msgid "Japanese Envelope You #4 Rotated" -msgstr "" +msgstr "Japanischer Umschlag You #4 gedreht" #: ../src/common/paper.cpp:145 msgid "Japanese Postcard 100 x 148 mm" -msgstr "" +msgstr "Japanische Postkarte 100 x 148 mm" #: ../src/common/paper.cpp:182 msgid "Japanese Postcard Rotated 148 x 100 mm" -msgstr "" +msgstr "Japanische Postkarte gedreht 148 x 100 mm" #: ../src/common/stockitem.cpp:128 msgid "Justified" @@ -2725,41 +2715,36 @@ msgstr "Linker Rand (mm):" #: ../src/common/paper.cpp:151 -#, fuzzy msgid "Legal Extra 9 1/2 x 15 in" -msgstr "Legal, 8 1/2 x 14 Zoll" +msgstr "Legal extra, 9 1/2 x 15 Zoll" #: ../src/common/paper.cpp:103 msgid "Legal, 8 1/2 x 14 in" msgstr "Legal, 8 1/2 x 14 Zoll" #: ../src/common/paper.cpp:150 -#, fuzzy msgid "Letter Extra 9 1/2 x 12 in" -msgstr "Letter, 8 1/2 x 11 Zoll" +msgstr "Letter extra, 9 1/2 x 12 Zoll" #: ../src/common/paper.cpp:156 msgid "Letter Extra Transverse 9.275 x 12 in" -msgstr "" +msgstr "Letter extra quer, 9,275 x 12 Zoll" #: ../src/common/paper.cpp:159 -#, fuzzy msgid "Letter Plus 8 1/2 x 12.69 in" -msgstr "Letter, 8 1/2 x 11 Zoll" +msgstr "Letter plus, 8 1/2 x 12,69 Zoll" #: ../src/common/paper.cpp:176 -#, fuzzy msgid "Letter Rotated 11 x 8 1/2 in" -msgstr "Letter, 8 1/2 x 11 Zoll" +msgstr "Letter gedreht, 11 x 8 1/2 Zoll" #: ../src/common/paper.cpp:108 msgid "Letter Small, 8 1/2 x 11 in" msgstr "Letter Small, 8 1/2 x 11 Zoll" #: ../src/common/paper.cpp:154 -#, fuzzy msgid "Letter Transverse 8 1/2 x 11 in" -msgstr "Letter, 8 1/2 x 11 Zoll" +msgstr "Letter quer, 8 1/2 x 11 Zoll" #: ../src/common/paper.cpp:102 msgid "Letter, 8 1/2 x 11 in" @@ -2833,7 +2818,7 @@ #: ../src/common/fs_mem.cpp:176 #, c-format msgid "Memory VFS already contains file '%s'!" -msgstr "VFS-Speicher beinhaltet bereits der Datei '%s'!" +msgstr "VFS-Speicher beinhaltet bereits die Datei '%s'!" #: ../src/msw/frame.cpp:374 msgid "Menu" @@ -2868,11 +2853,11 @@ #: ../src/common/module.cpp:77 #, c-format msgid "Module \"%s\" initialization failed" -msgstr "" +msgstr "Initialisierung des Moduls '%s' fehlgeschlagen" #: ../src/common/paper.cpp:138 msgid "Monarch Envelope, 3 7/8 x 7 1/2 in" -msgstr "Monarch Envelope, 3 7/8 x 7 1/2 Zoll" +msgstr "Monarch Umschlag, 3 7/8 x 7 1/2 Zoll" #: ../contrib/src/gizmos/editlbox.cpp:162 msgid "Move down" @@ -2880,7 +2865,7 @@ #: ../contrib/src/gizmos/editlbox.cpp:161 msgid "Move up" -msgstr "Nach oben" +msgstr "Aufwärts verschieben" #: ../src/generic/filedlgg.cpp:431 msgid "Name" @@ -3000,7 +2985,7 @@ #: ../src/html/helpfrm.cpp:1218 msgid "Normal font:" -msgstr "Normal Font:" +msgstr "Normale Schrift:" #: ../src/common/paper.cpp:122 msgid "Note, 8 1/2 x 11 in" @@ -3021,12 +3006,12 @@ #: ../src/html/helpfrm.cpp:673 ../src/html/helpfrm.cpp:1579 msgid "Open HTML document" -msgstr "Öffne HTLM Dokument" +msgstr "Öffne HTML-Dokument" #: ../src/generic/dbgrptg.cpp:158 -#, fuzzy, c-format +#, c-format msgid "Open file \"%s\"" -msgstr "Datei öffnen" +msgstr "Datei '%s' öffnen" #: ../src/generic/dirctrlg.cpp:718 ../src/generic/dirdlgg.cpp:342 #: ../src/generic/filedlgg.cpp:632 ../src/generic/filedlgg.cpp:772 @@ -3036,17 +3021,17 @@ #: ../src/common/cmdline.cpp:702 #, c-format msgid "Option '%s' requires a value, '=' expected." -msgstr "Option '%s' erwartet einen Wert, '=' erwartet." +msgstr "Option '%s' benötigt einen Wert, '=' erwartet." #: ../src/common/cmdline.cpp:722 #, c-format msgid "Option '%s' requires a value." -msgstr "Option '%s' erwartet einen Wert." +msgstr "Option '%s' benötigt einen Wert." #: ../src/common/cmdline.cpp:784 #, c-format msgid "Option '%s': '%s' cannot be converted to a date." -msgstr "Option '%s': '%s' kann nicht in eine Datum umgesetzt werden." +msgstr "Option '%s': '%s' kann nicht in ein Datum umgesetzt werden." #: ../src/generic/dirdlgg.cpp:116 ../src/generic/prntdlgg.cpp:614 msgid "Options" @@ -3095,127 +3080,107 @@ #: ../src/common/paper.cpp:194 msgid "PRC 16K 146 x 215 mm" -msgstr "" +msgstr "PRC 16K, 146 x 215 mm" #: ../src/common/paper.cpp:207 msgid "PRC 16K Rotated" -msgstr "" +msgstr "PRC 16K gedreht" #: ../src/common/paper.cpp:195 msgid "PRC 32K 97 x 151 mm" -msgstr "" +msgstr "PRC 32K, 97 x 151 mm" #: ../src/common/paper.cpp:208 msgid "PRC 32K Rotated" -msgstr "" +msgstr "PRC 32K gedreht" #: ../src/common/paper.cpp:196 msgid "PRC 32K(Big) 97 x 151 mm" -msgstr "" +msgstr "PRC 32K(Big), 97 x 151 mm" #: ../src/common/paper.cpp:209 msgid "PRC 32K(Big) Rotated" -msgstr "" +msgstr "PRC 32K(Big) gedreht" #: ../src/common/paper.cpp:197 -#, fuzzy msgid "PRC Envelope #1 102 x 165 mm" -msgstr "C6 Umschlag, 114 x 162 mm" +msgstr "PRC Umschlag #1, 102 x 165 mm" #: ../src/common/paper.cpp:210 -#, fuzzy msgid "PRC Envelope #1 Rotated 165 x 102 mm" -msgstr "C6 Umschlag, 114 x 162 mm" +msgstr "PRC Umschlag #1 gedreht, 165 x 102 mm" #: ../src/common/paper.cpp:206 -#, fuzzy msgid "PRC Envelope #10 324 x 458 mm" -msgstr "C3 Umschlag, 324 x 458 mm" +msgstr "PRC Umschlag #10, 324 x 458 mm" #: ../src/common/paper.cpp:219 -#, fuzzy msgid "PRC Envelope #10 Rotated 458 x 324 m" -msgstr "C4 Umschlag, 229 x 324 mm" +msgstr "PRC Umschlag #10 gedreht, 458 x 324 m" #: ../src/common/paper.cpp:198 -#, fuzzy msgid "PRC Envelope #2 102 x 176 mm" -msgstr "C6 Umschlag, 114 x 162 mm" +msgstr "PRC Umschlag #2, 102 x 176 mm" #: ../src/common/paper.cpp:211 -#, fuzzy msgid "PRC Envelope #2 Rotated 176 x 102 mm" -msgstr "B6 Umschlag, 176 x 125 mm" +msgstr "PRC Umschlag #2 gedreht, 176 x 102 mm" #: ../src/common/paper.cpp:199 -#, fuzzy msgid "PRC Envelope #3 125 x 176 mm" -msgstr "C6 Umschlag, 114 x 162 mm" +msgstr "PRC Umschlag #3, 125 x 176 mm" #: ../src/common/paper.cpp:212 -#, fuzzy msgid "PRC Envelope #3 Rotated 176 x 125 mm" -msgstr "B6 Umschlag, 176 x 125 mm" +msgstr "PRC Umschlag #3 gedreht, 176 x 125 mm" #: ../src/common/paper.cpp:200 -#, fuzzy msgid "PRC Envelope #4 110 x 208 mm" -msgstr "DL Umschlag, 110 x 220 mm" +msgstr "PRC Umschlag #4, 110 x 208 mm" #: ../src/common/paper.cpp:213 -#, fuzzy msgid "PRC Envelope #4 Rotated 208 x 110 mm" -msgstr "C6 Umschlag, 114 x 162 mm" +msgstr "PRC Umschlag #4 gedreht, 208 x 110 mm" #: ../src/common/paper.cpp:201 -#, fuzzy msgid "PRC Envelope #5 110 x 220 mm" -msgstr "DL Umschlag, 110 x 220 mm" +msgstr "PRC Umschlag #5, 110 x 220 mm" #: ../src/common/paper.cpp:214 -#, fuzzy msgid "PRC Envelope #5 Rotated 220 x 110 mm" -msgstr "C4 Umschlag, 229 x 324 mm" +msgstr "PRC Umschlag #5 gedreht, 220 x 110 mm" #: ../src/common/paper.cpp:202 -#, fuzzy msgid "PRC Envelope #6 120 x 230 mm" -msgstr "C5 Umschlag, 162 x 229 mm" +msgstr "PRC Umschlag #6, 120 x 230 mm" #: ../src/common/paper.cpp:215 -#, fuzzy msgid "PRC Envelope #6 Rotated 230 x 120 mm" -msgstr "C5 Umschlag, 162 x 229 mm" +msgstr "PRC Umschlag #6 gedreht, 230 x 120 mm" #: ../src/common/paper.cpp:203 -#, fuzzy msgid "PRC Envelope #7 160 x 230 mm" -msgstr "B5 Umschlag, 176 x 250 mm" +msgstr "PRC Umschlag #7, 160 x 230 mm" #: ../src/common/paper.cpp:216 -#, fuzzy msgid "PRC Envelope #7 Rotated 230 x 160 mm" -msgstr "C6 Umschlag, 114 x 162 mm" +msgstr "PRC Umschlag #7 gedreht, 230 x 160 mm" #: ../src/common/paper.cpp:204 -#, fuzzy msgid "PRC Envelope #8 120 x 309 mm" -msgstr "C5 Umschlag, 162 x 229 mm" +msgstr "PRC Umschlag #8, 120 x 309 mm" #: ../src/common/paper.cpp:217 -#, fuzzy msgid "PRC Envelope #8 Rotated 309 x 120 mm" -msgstr "C4 Umschlag, 229 x 324 mm" +msgstr "PRC Umschlag #8 gedreht, 309 x 120 mm" #: ../src/common/paper.cpp:205 -#, fuzzy msgid "PRC Envelope #9 229 x 324 mm" -msgstr "C4 Umschlag, 229 x 324 mm" +msgstr "PRC Umschlag #9, 229 x 324 mm" #: ../src/common/paper.cpp:218 -#, fuzzy msgid "PRC Envelope #9 Rotated 324 x 229 mm" -msgstr "C5 Umschlag, 162 x 229 mm" +msgstr "PRC Umschlag #9 gedreht, 324 x 229 mm" #: ../src/common/prntbase.cpp:1294 #, c-format @@ -3232,7 +3197,6 @@ msgstr "Seiten-Einstellungen" #: ../src/common/prntbase.cpp:451 ../src/gtk/gnome/gprint.cpp:540 -#, fuzzy msgid "Page setup" msgstr "Seiten-Einstellungen" @@ -3260,7 +3224,7 @@ #: ../src/common/xtistrm.cpp:436 ../src/common/xtistrm.cpp:656 msgid "Passing an unkown object to GetObject" -msgstr "Ein unbekanntes Objekt wurde an GetObject übergeben\"" +msgstr "Ein unbekanntes Objekt wurde an GetObject übergeben" #: ../src/generic/filedlgg.cpp:437 msgid "Permissions" @@ -3272,7 +3236,7 @@ #: ../src/gtk/fontdlg.cpp:81 msgid "Please choose a valid font." -msgstr "Bitte wählen Sie einen gültigen Font." +msgstr "Bitte wählen Sie eine gültige Schriftart." #: ../src/generic/filedlgg.cpp:1325 msgid "Please choose an existing file." @@ -3295,7 +3259,7 @@ msgstr "" "Bitte installieren Sie eine neuere Version von comctl32.dll\n" "(mindestens Version 4.70 wird benötigt, aber Sie haben nur\n" -"Version %d.%02d)." +"Version %d.%02d), oder dieses Programm wird nicht korrekt funktionieren." #: ../src/common/prntbase.cpp:313 msgid "Please wait while printing\n" @@ -3348,9 +3312,8 @@ msgstr "Druck&vorschau" #: ../src/gtk/gnome/gprint.cpp:785 -#, fuzzy msgid "Print preview" -msgstr "Druck&vorschau" +msgstr "Druckvorschau" #: ../src/generic/prntdlgg.cpp:626 msgid "Print spooling" @@ -3365,9 +3328,8 @@ msgstr "In Datei drucken" #: ../src/generic/prntdlgg.cpp:489 -#, fuzzy msgid "Printer" -msgstr "Drucken" +msgstr "Drucker" #: ../src/generic/prntdlgg.cpp:629 msgid "Printer command:" @@ -3383,12 +3345,11 @@ #: ../src/generic/prntdlgg.cpp:915 msgid "Printer..." -msgstr "Drucker..." +msgstr "Drucker ..." #: ../src/generic/prntdlgg.cpp:190 -#, fuzzy msgid "Printer:" -msgstr "Drucker..." +msgstr "Drucker:" #: ../src/common/prntbase.cpp:310 ../src/common/prntbase.cpp:531 msgid "Printing " @@ -3401,17 +3362,19 @@ #: ../src/generic/printps.cpp:208 #, c-format msgid "Printing page %d..." -msgstr "Drucke Seite %d..." +msgstr "Drucke Seite %d ..." #: ../src/generic/printps.cpp:168 msgid "Printing..." -msgstr "Drucke..." +msgstr "Drucke ..." #: ../src/common/debugrpt.cpp:546 #, c-format msgid "" "Processing debug report has failed, leaving the files in \"%s\" directory." msgstr "" +"Verarbeitung des Fehlerberichts fehlgeschlagen, lasse die Dateien im " +"'%s'-Verzeichnis." #: ../src/common/log.cpp:466 msgid "Program aborted." @@ -3431,9 +3394,8 @@ msgstr "Lesefehler in Datei '%s'" #: ../src/common/prntbase.cpp:242 -#, fuzzy msgid "Ready" -msgstr "&Wiederholen" +msgstr "Fertig" #: ../src/xrc/xmlres.cpp:643 #, c-format @@ -3485,7 +3447,7 @@ #: ../src/html/helpfrm.cpp:445 msgid "Remove current page from bookmarks" -msgstr "Aktuelle HTLM-Seite als Lesezeichen entfernen" +msgstr "Aktuelle Seite als Lesezeichen entfernen" #: ../src/common/rendcmn.cpp:196 #, c-format @@ -3512,7 +3474,7 @@ #: ../src/common/stockitem.cpp:144 msgid "Revert to Saved" -msgstr "" +msgstr "Zurück zu Gespeichert" #: ../src/generic/prntdlgg.cpp:891 msgid "Right margin (mm):" @@ -3523,9 +3485,8 @@ msgstr "Roman" #: ../src/common/sizer.cpp:1838 -#, fuzzy msgid "Save" -msgstr "&Sichern" +msgstr "Sichern" #: ../src/common/fldlgcmn.cpp:259 #, c-format @@ -3534,7 +3495,7 @@ #: ../src/common/stockitem.cpp:146 msgid "Save &As..." -msgstr "&Speichern unter..." +msgstr "&Speichern unter ..." #: ../src/common/docview.cpp:305 msgid "Save as" @@ -3572,7 +3533,7 @@ #: ../src/html/helpfrm.cpp:868 msgid "Searching..." -msgstr "Suchen..." +msgstr "Suchen ..." #: ../src/generic/dirctrlg.cpp:592 msgid "Sections" @@ -3586,7 +3547,8 @@ #: ../src/common/ffile.cpp:212 #, c-format msgid "Seek error on file '%s' (large files not supported by stdio)" -msgstr "" +msgstr "Suchfehler in Datei '%s' (grosse Dateien werden von stdio " +"nicht unterstützt)" #: ../src/mac/carbon/textctrl.cpp:1078 ../src/msw/textctrl.cpp:2068 msgid "Select &All" @@ -3598,16 +3560,15 @@ #: ../src/common/docview.cpp:1776 msgid "Select a document view" -msgstr "Dokument-Anzeige ('View') wählen" +msgstr "Dokumenten-Ansicht wählen" #: ../src/common/docview.cpp:1579 msgid "Select a file" msgstr "Datei wählen" #: ../src/motif/filedlg.cpp:226 -#, fuzzy msgid "Selection" -msgstr "Abschnitte" +msgstr "Auswahl" #: ../src/common/cmdline.cpp:739 #, c-format @@ -3620,7 +3581,7 @@ #: ../src/generic/prntdlgg.cpp:182 msgid "Setup..." -msgstr "Einstellungen..." +msgstr "Einstellungen ..." #: ../src/msw/dialup.cpp:567 msgid "Several active dialup connections found, choosing one randomly." @@ -3656,9 +3617,8 @@ #: ../src/generic/progdlgg.cpp:222 ../src/generic/progdlgg.cpp:240 #: ../src/generic/progdlgg.cpp:598 -#, fuzzy msgid "Skip" -msgstr "Script" +msgstr "Überspringen" #: ../src/generic/fontdlgg.cpp:234 msgid "Slant" @@ -3702,9 +3662,8 @@ msgstr "Statement, 5 1/2 x 8 1/2 Zoll" #: ../src/generic/prntdlgg.cpp:198 -#, fuzzy msgid "Status:" -msgstr "Status: " +msgstr "Status:" #: ../src/generic/logg.cpp:622 msgid "Status: " @@ -3734,11 +3693,11 @@ #: ../src/common/paper.cpp:157 msgid "SuperA/SuperA/A4 227 x 356 mm" -msgstr "" +msgstr "SuperA/SuperA/A4, 227 x 356 mm" #: ../src/common/paper.cpp:158 msgid "SuperB/SuperB/A3 305 x 487 mm" -msgstr "" +msgstr "SuperB/SuperB/A3, 305 x 487 mm" #: ../src/generic/fontdlgg.cpp:230 msgid "Swiss" @@ -3746,11 +3705,11 @@ #: ../src/common/imagtiff.cpp:165 msgid "TIFF library error." -msgstr "" +msgstr "TIFF-Bibliothek-Fehler." #: ../src/common/imagtiff.cpp:149 msgid "TIFF library warning." -msgstr "" +msgstr "TIFF-Bibliothek-Warnung." #: ../src/common/imagtiff.cpp:248 ../src/common/imagtiff.cpp:259 #: ../src/common/imagtiff.cpp:399 @@ -3774,9 +3733,8 @@ msgstr "TIFF: Schreibfehler beim Sichern." #: ../src/common/paper.cpp:152 -#, fuzzy msgid "Tabloid Extra 11.69 x 18 in" -msgstr "Tabloid, 11 x 17 Zoll" +msgstr "Tabloid extra, 11,69 x 18 Zoll" #: ../src/common/paper.cpp:109 msgid "Tabloid, 11 x 17 in" @@ -3859,7 +3817,7 @@ #: ../src/generic/fontdlgg.cpp:288 ../src/generic/fontdlgg.cpp:290 msgid "The font style." -msgstr "Die Schriftschitt." +msgstr "Der Schriftstil." #: ../src/generic/fontdlgg.cpp:299 ../src/generic/fontdlgg.cpp:301 msgid "The font weight." @@ -3876,6 +3834,9 @@ "private information,\n" "please uncheck them and they will be removed from the report.\n" msgstr "" +"Der Fehlerbericht enthält die unten angegebenen Dateien. Falls diese " +"persönliche Informationen enthält,\n" +"wählen Sie sie ab und sie werden aus dem Fehlerbericht gelöscht.\n" #: ../src/common/cmdline.cpp:883 #, c-format @@ -3933,7 +3894,7 @@ "local storage" msgstr "" "Thread-Modul-Initialisierung gescheitert: Index konnte nicht im lokalen " -"Speicherbereich des Thread allokiert werden" +"Speicherbereich des Threads zugewiesen werden" #: ../src/unix/threadpsx.cpp:1108 msgid "Thread priority setting is ignored." @@ -4031,9 +3992,8 @@ #: ../contrib/src/deprecated/resource.cpp:3084 #: ../contrib/src/deprecated/resource.cpp:3101 #: ../contrib/src/deprecated/resource.cpp:3115 -#, fuzzy msgid "Unexpected end of file while parsing resource." -msgstr "Erwarte '=' während der Suche in einer Ressource." +msgstr "Unerwartetes Dateiende beim Einlesen der Ressource." #: ../src/common/cmdline.cpp:826 #, c-format @@ -4083,7 +4043,7 @@ #: ../src/unix/dlunix.cpp:275 msgid "Unknown dynamic library error" -msgstr "" +msgstr "Unbekannter Fehler mit dynamischer Bibliothek" #: ../src/common/fmapbase.cpp:695 #, c-format @@ -4112,7 +4072,7 @@ #: ../src/common/xtixml.cpp:324 #, c-format msgid "Unkown Property %s" -msgstr "Unbekannte Eigenschaften %s" +msgstr "Unbekannte Eigenschaft %s" #: ../src/common/mimecmn.cpp:163 #, c-format @@ -4125,9 +4085,9 @@ msgstr "Ungenanntes Kommando" #: ../contrib/src/deprecated/resource.cpp:2367 -#, fuzzy, c-format +#, c-format msgid "Unrecognized style %s while parsing resource." -msgstr "Erwarte '*' während der Suche in einer Ressource." +msgstr "Unerwarter Stil beim Einlesen der Ressource." #: ../src/mac/carbon/clipbrd.cpp:68 ../src/mac/classic/clipbrd.cpp:64 #: ../src/msw/clipbrd.cpp:273 ../src/msw/clipbrd.cpp:445 @@ -4217,32 +4177,28 @@ #: ../src/msw/utils.cpp:1112 #, c-format msgid "Windows 2000 (build %lu" -msgstr "" +msgstr "Windows 2000 (Build %lu)" #: ../src/msw/utils.cpp:1077 -#, fuzzy msgid "Windows 95" -msgstr "Windows 9%c" +msgstr "Windows 95" #: ../src/msw/utils.cpp:1073 -#, fuzzy msgid "Windows 95 OSR2" -msgstr "Windows 9%c" +msgstr "Windows 95 ORS2" #: ../src/msw/utils.cpp:1088 -#, fuzzy msgid "Windows 98" -msgstr "Windows 9%c" +msgstr "Windows 98" #: ../src/msw/utils.cpp:1084 -#, fuzzy msgid "Windows 98 SE" -msgstr "Windows 9%c" +msgstr "Windows 98 SE" #: ../src/msw/utils.cpp:1095 -#, fuzzy, c-format +#, c-format msgid "Windows 9x (%d.%d)" -msgstr "Windows 9%c" +msgstr "Windows 9x (%d.%d)" #: ../src/common/fmapbase.cpp:132 msgid "Windows Arabic (CP 1256)" @@ -4285,24 +4241,22 @@ msgstr "Windows Koreanisch (CP 949)" #: ../src/msw/utils.cpp:1092 -#, fuzzy msgid "Windows ME" -msgstr "Windows 9%c" +msgstr "Windows ME" #: ../src/msw/utils.cpp:1127 #, c-format msgid "Windows NT %lu.%lu (build %lu" -msgstr "" +msgstr "Windows NT %lu.%lu (Build %lu)" #: ../src/msw/utils.cpp:1120 #, c-format msgid "Windows Server 2003 (build %lu" -msgstr "" +msgstr "Windows Server 2003 (Build %lu)" #: ../src/common/fmapbase.cpp:121 -#, fuzzy msgid "Windows Thai (CP 874)" -msgstr "Windows Baltisch (CP 1257)" +msgstr "Windows Thai (CP 874)" #: ../src/common/fmapbase.cpp:130 msgid "Windows Turkish (CP 1254)" @@ -4315,7 +4269,7 @@ #: ../src/msw/utils.cpp:1116 #, c-format msgid "Windows XP (build %lu" -msgstr "" +msgstr "Windows XP (Build %lu)" #: ../src/common/fmapbase.cpp:134 msgid "Windows/DOS OEM (CP 437)" @@ -4392,8 +4346,8 @@ "or an invalid instance identifier\n" "was passed to a DDEML function." msgstr "" -"Eine DDEML-Funktion wurde aufgerufen, ohne vorher die Deinitialisierungs- " -"Funktion aufzurufen,\n" +"Eine DDEML-Funktion wurde aufgerufen, ohne vorher die Funktion " +"'DdeInitialize' aufzurufen,\n" "oder ein ungültiger 'instance identifier'\n" "wurde an eine DDEML-Funktion übergeben." @@ -4476,7 +4430,7 @@ #: ../src/msw/dde.cpp:1084 msgid "an internal error has occurred in the DDEML." -msgstr "Ein interne Fehler ist im DDMEL aufgetreten." +msgstr "Ein interner Fehler ist im DDEML aufgetreten." #: ../src/msw/dde.cpp:1090 msgid "" @@ -4616,14 +4570,12 @@ "werden" #: ../src/common/zipstrm.cpp:436 -#, fuzzy msgid "can't re-initialize zlib deflate stream" -msgstr "Kann das Entkomprimieren der zlib-Daten nicht initialisieren" +msgstr "zlib-deflate-Stream kann nicht reinitialisiert werden" #: ../src/common/zipstrm.cpp:461 -#, fuzzy msgid "can't re-initialize zlib inflate stream" -msgstr "Kann das komprimieren der zlib-Daten nicht initialisieren" +msgstr "zlib-inflate-Stream kann nicht reinitialisiert werden" #: ../src/common/file.cpp:310 #, c-format @@ -4698,7 +4650,7 @@ #: ../src/common/debugrpt.cpp:524 msgid "dump of the process state (binary)" -msgstr "" +msgstr "Abfrage von Prozess-Status (binär)" #: ../src/common/datetime.cpp:3882 msgid "eighteenth" @@ -4727,27 +4679,26 @@ msgstr "Fehler im Datenformat" #: ../src/msdos/utilsdos.cpp:407 -#, fuzzy, c-format +#, c-format msgid "error opening '%s'" -msgstr "Fehler beim Öffnen der Datei" +msgstr "Fehler beim Öffnen der Datei '%s'" #: ../src/html/chm.cpp:332 msgid "error opening file" msgstr "Fehler beim Öffnen der Datei" #: ../src/common/zipstrm.cpp:1442 -#, fuzzy msgid "error reading zip central directory" -msgstr "Fehler beim Anlegen des Verzeichnisses" +msgstr "Fehler beim Lesen des 'zip-central'-Verzeichnisses" #: ../src/common/zipstrm.cpp:1520 msgid "error reading zip local header" -msgstr "" +msgstr "Fehler beim Lesen des 'zip-local'-Headers" #: ../src/common/zipstrm.cpp:2236 #, c-format msgid "error writing zip entry '%s': bad crc or length" -msgstr "" +msgstr "Fehler beim Schreiben des zip-Eintrags '%s': crc oder Länge falsch" #: ../src/msw/dialup.cpp:881 msgid "establish" @@ -4829,9 +4780,8 @@ msgstr "ungültiger 'message box'-Rückgabewert." #: ../src/common/zipstrm.cpp:1306 -#, fuzzy msgid "invalid zip file" -msgstr "Ungültige Sperr-Datei '%s'." +msgstr "Ungültige zip-Datei" #: ../src/common/fontcmn.cpp:586 ../src/common/fontcmn.cpp:650 msgid "italic" @@ -4897,7 +4847,7 @@ #: ../src/common/debugrpt.cpp:500 msgid "process context description" -msgstr "" +msgstr "Prozess-Kontext Beschreibung" #: ../src/html/chm.cpp:334 msgid "read error" @@ -4910,12 +4860,12 @@ #: ../src/common/zipstrm.cpp:1743 #, c-format msgid "reading zip stream (entry %s): bad crc" -msgstr "" +msgstr "Lese zip-Stream (Eintrag %s): crc falsch" #: ../src/common/zipstrm.cpp:1740 #, c-format msgid "reading zip stream (entry %s): bad length" -msgstr "" +msgstr "Lese zip-Stream (Eintrag %s): Länge falsch" #: ../src/msw/dde.cpp:1078 msgid "reentrancy problem." @@ -4963,7 +4913,7 @@ #: ../src/common/zipstrm.cpp:1646 msgid "stored file length not in Zip header" -msgstr "" +msgstr "gespeicherte Dateilänge nicht im zip-Header" #: ../src/common/cmdline.cpp:1086 msgid "str" @@ -5061,11 +5011,11 @@ #: ../src/common/zipstrm.cpp:1660 ../src/common/zipstrm.cpp:2030 msgid "unsupported Zip compression method" -msgstr "" +msgstr "Nicht unterstütze zip-Kompressionsmethode" #: ../src/common/zipstrm.cpp:1142 msgid "unsupported zip archive" -msgstr "" +msgstr "Nicht unterstütztes zip-Archiv" #: ../src/common/intl.cpp:1115 #, c-format diff -ur wxWidgets-2.6.3/Makefile.in wxWidgets-2.6.3.3/Makefile.in --- wxWidgets-2.6.3/Makefile.in 2006-03-16 09:45:29.000000000 -0500 +++ wxWidgets-2.6.3.3/Makefile.in 2006-05-23 14:13:44.000000000 -0400 @@ -1496,6 +1496,14 @@ @COND_TOOLKIT_X11@BASE_MACOSX_HDR = $(COND_TOOLKIT_X11_BASE_MACOSX_HDR) @COND_PLATFORM_MACOSX_1@BASE_PLATFORM_HDR = $(BASE_MACOSX_HDR) @COND_PLATFORM_MSDOS_1@BASE_PLATFORM_HDR = wx/msdos/mimetype.h +COND_PLATFORM_OS2_1_BASE_PLATFORM_HDR = \ + wx/os2/apptbase.h \ + wx/os2/apptrait.h \ + wx/os2/mimetype.h \ + wx/os2/private.h \ + wx/os2/stdpaths.h \ + wx/os2/wxrsc.h +@COND_PLATFORM_OS2_1@BASE_PLATFORM_HDR = $(COND_PLATFORM_OS2_1_BASE_PLATFORM_HDR) COND_PLATFORM_UNIX_1_BASE_PLATFORM_HDR = \ wx/unix/apptbase.h \ wx/unix/apptrait.h \ @@ -3139,6 +3147,7 @@ monodll_stattext.o \ monodll_statusbr.o \ monodll_textctrl.o \ + monodll_tglbtn.o \ monodll_theme.o \ monodll_toolbar.o \ monodll_topluniv.o \ @@ -4609,6 +4618,7 @@ monolib_stattext.o \ monolib_statusbr.o \ monolib_textctrl.o \ + monolib_tglbtn.o \ monolib_theme.o \ monolib_toolbar.o \ monolib_topluniv.o \ @@ -6317,6 +6327,7 @@ coredll_stattext.o \ coredll_statusbr.o \ coredll_textctrl.o \ + coredll_tglbtn.o \ coredll_theme.o \ coredll_toolbar.o \ coredll_topluniv.o \ @@ -7515,6 +7526,7 @@ corelib_stattext.o \ corelib_statusbr.o \ corelib_textctrl.o \ + corelib_tglbtn.o \ corelib_theme.o \ corelib_toolbar.o \ corelib_topluniv.o \ @@ -13245,6 +13257,9 @@ @COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@monodll_tglbtn.o: $(srcdir)/src/os2/tglbtn.cpp $(MONODLL_ODEP) @COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/os2/tglbtn.cpp +@COND_USE_GUI_1_WXUNIV_1@monodll_tglbtn.o: $(srcdir)/src/univ/tglbtn.cpp $(MONODLL_ODEP) +@COND_USE_GUI_1_WXUNIV_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/univ/tglbtn.cpp + @COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@monodll_menuitem.o: $(srcdir)/src/motif/menuitem.cpp $(MONODLL_ODEP) @COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/motif/menuitem.cpp @@ -16716,6 +16731,9 @@ @COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@monolib_tglbtn.o: $(srcdir)/src/os2/tglbtn.cpp $(MONOLIB_ODEP) @COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/os2/tglbtn.cpp +@COND_USE_GUI_1_WXUNIV_1@monolib_tglbtn.o: $(srcdir)/src/univ/tglbtn.cpp $(MONOLIB_ODEP) +@COND_USE_GUI_1_WXUNIV_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/univ/tglbtn.cpp + @COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@monolib_menuitem.o: $(srcdir)/src/motif/menuitem.cpp $(MONOLIB_ODEP) @COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/motif/menuitem.cpp @@ -20616,6 +20634,9 @@ @COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@coredll_tglbtn.o: $(srcdir)/src/os2/tglbtn.cpp $(COREDLL_ODEP) @COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/os2/tglbtn.cpp +@COND_USE_GUI_1_WXUNIV_1@coredll_tglbtn.o: $(srcdir)/src/univ/tglbtn.cpp $(COREDLL_ODEP) +@COND_USE_GUI_1_WXUNIV_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/univ/tglbtn.cpp + @COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@coredll_menuitem.o: $(srcdir)/src/motif/menuitem.cpp $(COREDLL_ODEP) @COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/motif/menuitem.cpp @@ -23127,6 +23148,9 @@ @COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@corelib_tglbtn.o: $(srcdir)/src/os2/tglbtn.cpp $(CORELIB_ODEP) @COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/os2/tglbtn.cpp +@COND_USE_GUI_1_WXUNIV_1@corelib_tglbtn.o: $(srcdir)/src/univ/tglbtn.cpp $(CORELIB_ODEP) +@COND_USE_GUI_1_WXUNIV_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/univ/tglbtn.cpp + @COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@corelib_menuitem.o: $(srcdir)/src/motif/menuitem.cpp $(CORELIB_ODEP) @COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/motif/menuitem.cpp @@ -25612,6 +25636,11 @@ rm -rf $(DISTDIR)/wxPython/contrib/iewin find $(DISTDIR)/wxPython \( -name "mac" -o -name "msw" \) -print0 | xargs -0 rm -rf + @# copy the bakefiles goop that make install doesn't handle robustly + mkdir -p $(DISTDIR)/build/bakefiles/wxpresets/presets + cp $(WXDIR)/build/bakefiles/wxpresets/presets/*.bkl \ + $(DISTDIR)/build/bakefiles/wxpresets/presets + rm -rf $(DEBIAN_SOURCE_DIR) mv $(DISTDIR) $(DEBIAN_SOURCE_DIR) diff -ur wxWidgets-2.6.3/samples/controls/controls.cpp wxWidgets-2.6.3.3/samples/controls/controls.cpp --- wxWidgets-2.6.3/samples/controls/controls.cpp 2005-08-17 09:13:42.000000000 -0400 +++ wxWidgets-2.6.3.3/samples/controls/controls.cpp 2006-06-18 07:52:25.000000000 -0400 @@ -3,7 +3,7 @@ // Purpose: Controls wxWidgets sample // Author: Robert Roebling // Modified by: -// RCS-ID: $Id: controls.cpp,v 1.233 2005/08/17 13:13:42 VZ Exp $ +// RCS-ID: $Id: controls.cpp,v 1.233.2.1 2006/06/18 11:52:25 SN Exp $ // Copyright: (c) Robert Roebling, Julian Smart // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// @@ -1370,15 +1370,17 @@ void MyPanel::OnComboTextChanged(wxCommandEvent& event) { - wxLogMessage(wxT("EVT_TEXT for the combobox: \"%s\" (event) or \"%s\" (control)."), - event.GetString().c_str(), - m_combo->GetValue().c_str()); + if (m_combo) + wxLogMessage(wxT("EVT_TEXT for the combobox: \"%s\" (event) or \"%s\" (control)."), + event.GetString().c_str(), + m_combo->GetValue().c_str()); } void MyPanel::OnComboTextEnter(wxCommandEvent& WXUNUSED(event)) { - wxLogMessage(_T("Enter pressed in the combobox: value is '%s'."), - m_combo->GetValue().c_str()); + if (m_combo) + wxLogMessage(_T("Enter pressed in the combobox: value is '%s'."), + m_combo->GetValue().c_str()); } void MyPanel::OnComboButtons( wxCommandEvent &event ) diff -ur wxWidgets-2.6.3/samples/listctrl/listtest.cpp wxWidgets-2.6.3.3/samples/listctrl/listtest.cpp --- wxWidgets-2.6.3/samples/listctrl/listtest.cpp 2006-03-18 11:57:18.000000000 -0500 +++ wxWidgets-2.6.3.3/samples/listctrl/listtest.cpp 2006-04-02 11:51:15.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Julian Smart // Modified by: // Created: 04/01/98 -// RCS-ID: $Id: listtest.cpp,v 1.83.2.4 2006/03/18 16:57:18 VZ Exp $ +// RCS-ID: $Id: listtest.cpp,v 1.83.2.5 2006/04/02 15:51:15 JS Exp $ // Copyright: (c) Julian Smart // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// @@ -1053,10 +1053,10 @@ SetItemData(tmp, i); buf.Printf(_T("Col 1, item %d"), i); - SetItem(i, 1, buf); + SetItem(tmp, 1, buf); buf.Printf(_T("Item %d in column 2"), i); - SetItem(i, 2, buf); + SetItem(tmp, 2, buf); } #if USE_CONTEXT_MENU diff -ur wxWidgets-2.6.3/setup.h.in wxWidgets-2.6.3.3/setup.h.in --- wxWidgets-2.6.3/setup.h.in 2006-01-18 05:24:54.000000000 -0500 +++ wxWidgets-2.6.3.3/setup.h.in 2006-04-19 10:36:46.000000000 -0400 @@ -156,6 +156,8 @@ #define WXWIN_COMPATIBILITY_2_4 0 +#define WX_USE_RESERVED_VIRTUALS 0 + #define wxDIALOG_UNIT_COMPATIBILITY 0 diff -ur wxWidgets-2.6.3/src/common/dobjcmn.cpp wxWidgets-2.6.3.3/src/common/dobjcmn.cpp --- wxWidgets-2.6.3/src/common/dobjcmn.cpp 2006-03-24 18:51:30.000000000 -0500 +++ wxWidgets-2.6.3.3/src/common/dobjcmn.cpp 2006-03-30 04:52:54.000000000 -0500 @@ -4,7 +4,7 @@ // Author: Vadim Zeitlin, Robert Roebling // Modified by: // Created: 19.10.99 -// RCS-ID: $Id: dobjcmn.cpp,v 1.35.2.1 2006/03/24 23:51:30 RD Exp $ +// RCS-ID: $Id: dobjcmn.cpp,v 1.35.2.2 2006/03/30 09:52:54 RR Exp $ // Copyright: (c) wxWidgets Team // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -253,11 +253,15 @@ bool wxTextDataObject::GetDataHere(const wxDataFormat& format, void *buf) const { + if ( !buf ) + return false; + wxCharBuffer buffer = GetConv(format).cWX2MB( GetText().c_str() ); if ( !buffer ) return false; - strcpy( (char*) buf, buffer ); + memcpy( (char*) buf, buffer, GetDataSize(format) ); + // strcpy( (char*) buf, buffer ); return true; } diff -ur wxWidgets-2.6.3/src/common/event.cpp wxWidgets-2.6.3.3/src/common/event.cpp --- wxWidgets-2.6.3/src/common/event.cpp 2005-06-29 20:52:05.000000000 -0400 +++ wxWidgets-2.6.3.3/src/common/event.cpp 2006-05-29 13:34:47.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Julian Smart // Modified by: // Created: 01/02/97 -// RCS-ID: $Id: event.cpp,v 1.166 2005/06/30 00:52:05 MW Exp $ +// RCS-ID: $Id: event.cpp,v 1.166.2.1 2006/05/29 17:34:47 MW Exp $ // Copyright: (c) Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -1154,7 +1154,7 @@ wxENTER_CRIT_SECT( Lock() ); - if ( !--n ) + if ( --n == 0 ) break; } diff -ur wxWidgets-2.6.3/src/common/filefn.cpp wxWidgets-2.6.3.3/src/common/filefn.cpp --- wxWidgets-2.6.3/src/common/filefn.cpp 2006-02-27 10:16:37.000000000 -0500 +++ wxWidgets-2.6.3.3/src/common/filefn.cpp 2006-06-15 17:42:21.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Julian Smart // Modified by: // Created: 29/01/98 -// RCS-ID: $Id: filefn.cpp,v 1.249.2.5 2006/02/27 15:16:37 VZ Exp $ +// RCS-ID: $Id: filefn.cpp,v 1.249.2.6 2006/06/15 21:42:21 MW Exp $ // Copyright: (c) 1998 Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -304,16 +304,19 @@ return (ret != (DWORD)-1) && !(ret & FILE_ATTRIBUTE_DIRECTORY); #else // !__WIN32__ + #ifndef S_ISREG + #define S_ISREG(mode) ((mode) & S_IFREG) + #endif wxStructStat st; #ifndef wxNEED_WX_UNISTD_H - return (wxStat( filename.fn_str() , &st) == 0 && (st.st_mode & S_IFREG)) + return (wxStat( filename.fn_str() , &st) == 0 && S_ISREG(st.st_mode)) #ifdef __OS2__ || (errno == EACCES) // if access is denied something with that name // exists and is opened in exclusive mode. #endif ; #else - return wxStat( filename , &st) == 0 && (st.st_mode & S_IFREG); + return wxStat( filename , &st) == 0 && S_ISREG(st.st_mode); #endif #endif // __WIN32__/!__WIN32__ } diff -ur wxWidgets-2.6.3/src/common/gifdecod.cpp wxWidgets-2.6.3.3/src/common/gifdecod.cpp --- wxWidgets-2.6.3/src/common/gifdecod.cpp 2006-01-23 02:18:36.000000000 -0500 +++ wxWidgets-2.6.3.3/src/common/gifdecod.cpp 2006-04-01 20:21:53.000000000 -0500 @@ -3,7 +3,7 @@ // Purpose: wxGIFDecoder, GIF reader for wxImage and wxAnimation // Author: Guillermo Rodriguez Garcia // Version: 3.04 -// RCS-ID: $Id: gifdecod.cpp,v 1.37.2.1 2006/01/23 07:18:36 vell Exp $ +// RCS-ID: $Id: gifdecod.cpp,v 1.37.2.2 2006/04/02 01:21:53 VZ Exp $ // Copyright: (c) Guillermo Rodriguez Garcia // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -474,6 +474,25 @@ /* make new entry in alphabet (only if NOT just cleared) */ if (lastcode != -1) { + // Normally, after the alphabet is full and can't grow any + // further (ab_free == 4096), encoder should (must?) emit CLEAR + // to reset it. This checks whether we really got it, otherwise + // the GIF is damaged. + if (ab_free > ab_max) + { + delete[] ab_prefix; + delete[] ab_tail; + delete[] stack; + return wxGIF_INVFORMAT; + } + + // This assert seems unnecessary since the condition above + // eliminates the only case in which it went false. But I really + // don't like being forced to ask "Who in .text could have + // written there?!" And I wouldn't have been forced to ask if + // this line had already been here. + wxASSERT(ab_free < allocSize); + ab_prefix[ab_free] = lastcode; ab_tail[ab_free] = code; ab_free++; diff -ur wxWidgets-2.6.3/src/common/imagjpeg.cpp wxWidgets-2.6.3.3/src/common/imagjpeg.cpp --- wxWidgets-2.6.3/src/common/imagjpeg.cpp 2005-03-04 14:23:28.000000000 -0500 +++ wxWidgets-2.6.3.3/src/common/imagjpeg.cpp 2006-04-01 20:27:36.000000000 -0500 @@ -2,7 +2,7 @@ // Name: imagjpeg.cpp // Purpose: wxImage JPEG handler // Author: Vaclav Slavik -// RCS-ID: $Id: imagjpeg.cpp,v 1.47 2005/03/04 19:23:28 ABX Exp $ +// RCS-ID: $Id: imagjpeg.cpp,v 1.47.2.1 2006/04/02 01:27:36 VZ Exp $ // Copyright: (c) Vaclav Slavik // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -167,12 +167,22 @@ /* Always display the message. */ /* We could postpone this until after returning, if we chose. */ - if (cinfo->err->output_message) (*cinfo->err->output_message) (cinfo); + (*cinfo->err->output_message) (cinfo); /* Return control to the setjmp point */ longjmp(myerr->setjmp_buffer, 1); } +/* + * This will replace the standard output_message method when the user + * wants us to be silent (verbose==false). We must have such method instead of + * simply using NULL for cinfo->err->output_message because it's called + * unconditionally from within libjpeg when there's "garbage input". + */ +CPP_METHODDEF(void) wx_ignore_message (j_common_ptr WXUNUSED(cinfo)) +{ +} + void wx_jpeg_io_src( j_decompress_ptr cinfo, wxInputStream& infile ) { wx_src_ptr src; @@ -214,7 +224,8 @@ cinfo.err = jpeg_std_error( &jerr.pub ); jerr.pub.error_exit = wx_error_exit; - if (!verbose) cinfo.err->output_message=NULL; + if (!verbose) + cinfo.err->output_message = wx_ignore_message; /* Establish the setjmp return context for wx_error_exit to use. */ if (setjmp(jerr.setjmp_buffer)) { @@ -327,7 +338,8 @@ cinfo.err = jpeg_std_error(&jerr.pub); jerr.pub.error_exit = wx_error_exit; - if (!verbose) cinfo.err->output_message=NULL; + if (!verbose) + cinfo.err->output_message = wx_ignore_message; /* Establish the setjmp return context for wx_error_exit to use. */ if (setjmp(jerr.setjmp_buffer)) diff -ur wxWidgets-2.6.3/src/common/imagtiff.cpp wxWidgets-2.6.3.3/src/common/imagtiff.cpp --- wxWidgets-2.6.3/src/common/imagtiff.cpp 2005-10-18 10:33:30.000000000 -0400 +++ wxWidgets-2.6.3.3/src/common/imagtiff.cpp 2006-06-27 17:47:27.000000000 -0400 @@ -2,7 +2,7 @@ // Name: imagtiff.cpp // Purpose: wxImage TIFF handler // Author: Robert Roebling -// RCS-ID: $Id: imagtiff.cpp,v 1.37.2.1 2005/10/18 14:33:30 MW Exp $ +// RCS-ID: $Id: imagtiff.cpp,v 1.37.2.2 2006/06/27 21:47:27 VZ Exp $ // Copyright: (c) Robert Roebling // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -374,7 +374,7 @@ int compression = image->GetOptionInt(wxIMAGE_OPTION_COMPRESSION); if ( !compression ) - compression=COMPRESSION_LZW; + compression=COMPRESSION_NONE; TIFFSetField(tif, TIFFTAG_SAMPLESPERPIXEL, spp); TIFFSetField(tif, TIFFTAG_BITSPERSAMPLE, bpp); diff -ur wxWidgets-2.6.3/src/common/init.cpp wxWidgets-2.6.3.3/src/common/init.cpp --- wxWidgets-2.6.3/src/common/init.cpp 2005-06-13 08:19:20.000000000 -0400 +++ wxWidgets-2.6.3.3/src/common/init.cpp 2006-06-06 07:01:29.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Vadim Zeitlin // Modified by: // Created: 04.10.99 -// RCS-ID: $Id: init.cpp,v 1.58 2005/06/13 12:19:20 ABX Exp $ +// RCS-ID: $Id: init.cpp,v 1.58.2.2 2006/06/06 11:01:29 JS Exp $ // Copyright: (c) Vadim Zeitlin // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -37,6 +37,9 @@ #include "wx/ptr_scpd.h" #include "wx/module.h" #include "wx/except.h" +#if wxUSE_FONTMAP +#include "wx/fontmap.h" +#endif #if defined(__WXMSW__) && defined(__WXDEBUG__) #include "wx/msw/msvcrt.h" @@ -448,6 +451,13 @@ { ConvertArgsToUnicode(argc, argv); +#if wxUSE_FONTMAP + // If we created a font mapper during the above call, + // it will only be the base class, so delete it to allow + // app traits to create mapper. + delete (wxFontMapperBase*) wxFontMapperBase::Set(NULL); +#endif + return wxEntry(argc, gs_initData.argv); } @@ -474,7 +484,7 @@ { wxCRIT_SECT_LOCKER(lockInit, gs_initData.csInit); - if ( !--gs_initData.nInitCount ) + if ( --gs_initData.nInitCount == 0 ) { wxEntryCleanup(); } diff -ur wxWidgets-2.6.3/src/common/mimecmn.cpp wxWidgets-2.6.3.3/src/common/mimecmn.cpp --- wxWidgets-2.6.3/src/common/mimecmn.cpp 2005-07-21 12:19:40.000000000 -0400 +++ wxWidgets-2.6.3.3/src/common/mimecmn.cpp 2006-06-19 03:16:37.000000000 -0400 @@ -5,7 +5,7 @@ // Modified by: // Chris Elliott (biol75@york.ac.uk) 5 Dec 00: write support for Win32 // Created: 23.09.98 -// RCS-ID: $Id: mimecmn.cpp,v 1.40 2005/07/21 16:19:40 ABX Exp $ +// RCS-ID: $Id: mimecmn.cpp,v 1.40.2.2 2006/06/19 07:16:37 VZ Exp $ // Copyright: (c) 1998 Vadim Zeitlin // Licence: wxWindows licence (part of wxExtra library) ///////////////////////////////////////////////////////////////////////////// @@ -494,6 +494,8 @@ bool wxMimeTypesManager::Unassociate(wxFileType *ft) { + EnsureImpl(); + #if defined(__UNIX__) && !defined(__CYGWIN__) && !defined(__WINE__) return m_impl->Unassociate(ft); #else diff -ur wxWidgets-2.6.3/src/common/object.cpp wxWidgets-2.6.3.3/src/common/object.cpp --- wxWidgets-2.6.3/src/common/object.cpp 2005-09-17 16:58:55.000000000 -0400 +++ wxWidgets-2.6.3.3/src/common/object.cpp 2006-05-29 13:34:48.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Julian Smart // Modified by: Ron Lee // Created: 04/01/98 -// RCS-ID: $Id: object.cpp,v 1.95 2005/09/17 20:58:55 VZ Exp $ +// RCS-ID: $Id: object.cpp,v 1.95.2.1 2006/05/29 17:34:48 MW Exp $ // Copyright: (c) 1998 Julian Smart // (c) 2001 Ron Lee // Licence: wxWindows licence @@ -323,7 +323,7 @@ { wxASSERT_MSG( m_refData->m_count > 0, _T("invalid ref data count") ); - if ( !--m_refData->m_count ) + if ( --m_refData->m_count == 0 ) delete m_refData; m_refData = NULL; } diff -ur wxWidgets-2.6.3/src/common/prntbase.cpp wxWidgets-2.6.3.3/src/common/prntbase.cpp --- wxWidgets-2.6.3/src/common/prntbase.cpp 2005-07-28 18:20:03.000000000 -0400 +++ wxWidgets-2.6.3.3/src/common/prntbase.cpp 2006-06-28 08:56:05.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Julian Smart // Modified by: // Created: 04/01/98 -// RCS-ID: $Id: prntbase.cpp,v 1.89 2005/07/28 22:20:03 VZ Exp $ +// RCS-ID: $Id: prntbase.cpp,v 1.89.2.1 2006/06/28 12:56:05 JS Exp $ // Copyright: (c) Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -1483,6 +1483,11 @@ m_pimpl->SetZoom( percent ); } +int wxPrintPreview::GetZoom() const +{ + return m_pimpl->GetZoom(); +} + wxPrintDialogData& wxPrintPreview::GetPrintDialogData() { return m_pimpl->GetPrintDialogData(); diff -ur wxWidgets-2.6.3/src/common/socket.cpp wxWidgets-2.6.3.3/src/common/socket.cpp --- wxWidgets-2.6.3/src/common/socket.cpp 2006-02-16 03:53:35.000000000 -0500 +++ wxWidgets-2.6.3.3/src/common/socket.cpp 2006-05-29 13:34:48.000000000 -0400 @@ -5,7 +5,7 @@ // Created: April 1997 // Copyright: (C) 1999-1997, Guilhem Lavaux // (C) 2000-1999, Guillermo Rodriguez Garcia -// RCS_ID: $Id: socket.cpp,v 1.133.2.2 2006/02/16 08:53:35 JS Exp $ +// RCS_ID: $Id: socket.cpp,v 1.133.2.5 2006/05/29 17:34:48 MW Exp $ // License: see wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -163,7 +163,7 @@ { // we should be initialized wxASSERT_MSG( m_countInit, _T("extra call to Shutdown()") ); - if ( !--m_countInit ) + if ( --m_countInit == 0 ) { GSocket_Cleanup(); } @@ -331,11 +331,9 @@ // Return now in one of the following cases: // - the socket is invalid, - // - we got all the data, - // - we got *some* data and we are not using wxSOCKET_WAITALL. + // - we got all the data if ( !m_socket || - !nbytes || - ((total != 0) && !(m_flags & wxSOCKET_WAITALL)) ) + !nbytes ) return total; // Possible combinations (they are checked in this order) @@ -698,7 +696,7 @@ else timeout = m_timeout * 1000; - bool has_event_loop = wxTheApp ? (wxTheApp->GetTraits() ? true : false) : false; + bool has_event_loop = wxTheApp->GetTraits() ? (wxTheApp->GetTraits()->GetSocketGUIFunctionsTable() ? true : false) : false; // Wait in an active polling loop. // diff -ur wxWidgets-2.6.3/src/common/strconv.cpp wxWidgets-2.6.3.3/src/common/strconv.cpp --- wxWidgets-2.6.3/src/common/strconv.cpp 2006-01-18 11:32:46.000000000 -0500 +++ wxWidgets-2.6.3.3/src/common/strconv.cpp 2006-04-21 22:14:00.000000000 -0400 @@ -5,7 +5,7 @@ // Ryan Norton, Fredrik Roubert (UTF7) // Modified by: // Created: 29/01/98 -// RCS-ID: $Id: strconv.cpp,v 1.160.2.2 2006/01/18 16:32:46 JS Exp $ +// RCS-ID: $Id: strconv.cpp,v 1.160.2.3 2006/04/22 02:14:00 VZ Exp $ // Copyright: (c) 1999 Ove Kaaven, Robert Roebling, Vaclav Slavik // (c) 2000-2003 Vadim Zeitlin // (c) 2004 Ryan Norton, Fredrik Roubert @@ -1637,14 +1637,27 @@ // wouldn't work if reading an incomplete MB char didn't result in an // error // - // note however that using MB_ERR_INVALID_CHARS with CP_UTF7 results in - // an error (tested under Windows Server 2003) and apparently it is - // done on purpose, i.e. the function accepts any input in this case - // and although I'd prefer to return error on ill-formed output, our - // own wxMBConvUTF7 doesn't detect errors (e.g. lone "+" which is - // explicitly ill-formed according to RFC 2152) neither so we don't - // even have any fallback here... - int flags = m_CodePage == CP_UTF7 ? 0 : MB_ERR_INVALID_CHARS; + // Moreover, MB_ERR_INVALID_CHARS is only supported on Win 2K SP4 or + // Win XP or newer and it is not supported for UTF-[78] so we always + // use our own conversions in this case. See + // http://blogs.msdn.com/michkap/archive/2005/04/19/409566.aspx + // http://msdn.microsoft.com/library/en-us/intl/unicode_17si.asp + if ( m_CodePage == CP_UTF8 ) + { + return wxConvUTF8.MB2WC(buf, psz, n); + } + + if ( m_CodePage == CP_UTF7 ) + { + return wxConvUTF7.MB2WC(buf, psz, n); + } + + int flags = 0; + if ( (m_CodePage < 50000 && m_CodePage != CP_SYMBOL) && + IsAtLeastWin2kSP4() ) + { + flags = MB_ERR_INVALID_CHARS; + } const size_t len = ::MultiByteToWideChar ( @@ -1656,10 +1669,41 @@ buf ? n : 0 // size of output buffer ); + if ( !len ) + { + // function totally failed + return (size_t)-1; + } + + // if we were really converting and didn't use MB_ERR_INVALID_CHARS, + // check if we succeeded, by doing a double trip: + if ( !flags && buf ) + { + const size_t mbLen = strlen(psz); + wxCharBuffer mbBuf(mbLen); + if ( ::WideCharToMultiByte + ( + m_CodePage, + 0, + buf, + -1, + mbBuf.data(), + mbLen + 1, // size in bytes, not length + NULL, + NULL + ) == 0 || + strcmp(mbBuf, psz) != 0 ) + { + // we didn't obtain the same thing we started from, hence + // the conversion was lossy and we consider that it failed + return (size_t)-1; + } + } + // note that it returns count of written chars for buf != NULL and size // of the needed buffer for buf == NULL so in either case the length of // the string (which never includes the terminating NUL) is one less - return len ? len - 1 : (size_t)-1; + return len - 1; } size_t WC2MB(char *buf, const wchar_t *pwz, size_t n) const @@ -1774,6 +1818,33 @@ return s_isWin98Or2k == 1; } + static bool IsAtLeastWin2kSP4() + { +#ifdef __WXWINCE__ + return false; +#else + static int s_isAtLeastWin2kSP4 = -1; + + if ( s_isAtLeastWin2kSP4 == -1 ) + { + OSVERSIONINFOEX ver; + + memset(&ver, 0, sizeof(ver)); + ver.dwOSVersionInfoSize = sizeof(ver); + GetVersionEx((OSVERSIONINFO*)&ver); + + s_isAtLeastWin2kSP4 = + ((ver.dwMajorVersion > 5) || // Vista+ + (ver.dwMajorVersion == 5 && ver.dwMinorVersion > 0) || // XP/2003 + (ver.dwMajorVersion == 5 && ver.dwMinorVersion == 0 && + ver.wServicePackMajor >= 4)) // 2000 SP4+ + ? 1 : 0; + } + + return s_isAtLeastWin2kSP4 == 1; +#endif + } + long m_CodePage; }; diff -ur wxWidgets-2.6.3/src/common/string.cpp wxWidgets-2.6.3.3/src/common/string.cpp --- wxWidgets-2.6.3/src/common/string.cpp 2005-11-30 08:30:08.000000000 -0500 +++ wxWidgets-2.6.3.3/src/common/string.cpp 2006-07-06 06:30:37.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Vadim Zeitlin, Ryan Norton // Modified by: // Created: 29/01/98 -// RCS-ID: $Id: string.cpp,v 1.258.2.1 2005/11/30 13:30:08 VZ Exp $ +// RCS-ID: $Id: string.cpp,v 1.258.2.4 2006/07/06 10:30:37 ABX Exp $ // Copyright: (c) 1998 Vadim Zeitlin // (c) 2004 Ryan Norton // Licence: wxWindows licence @@ -1642,38 +1642,37 @@ // trims spaces (in the sense of isspace) from left or right side wxString& wxString::Trim(bool bFromRight) { - // first check if we're going to modify the string at all - if ( !empty() && - ( - (bFromRight && wxSafeIsspace(GetChar(Len() - 1))) || - (!bFromRight && wxSafeIsspace(GetChar(0u))) + // first check if we're going to modify the string at all + if ( !empty() && + ( + (bFromRight && wxSafeIsspace(GetChar(length() - 1))) || + (!bFromRight && wxSafeIsspace(GetChar(0u))) + ) ) - ) - { - if ( bFromRight ) - { - // find last non-space character - iterator psz = begin() + length() - 1; - while ( wxSafeIsspace(*psz) && (psz >= begin()) ) - psz--; - - // truncate at trailing space start - *++psz = wxT('\0'); - erase(psz, end()); - } - else { - // find first non-space character - iterator psz = begin(); - while ( wxSafeIsspace(*psz) ) - psz++; + if ( bFromRight ) + { + // find last non-space character + reverse_iterator psz = rbegin(); + while ( (psz != rend()) && wxSafeIsspace(*psz) ) + psz++; - // fix up data and length - erase(begin(), psz); + // truncate at trailing space start + erase(psz.base(), end()); + } + else + { + // find first non-space character + iterator psz = begin(); + while ( (psz != end()) && wxSafeIsspace(*psz) ) + psz++; + + // fix up data and length + erase(begin(), psz); + } } - } - return *this; + return *this; } // adds nCount characters chPad to the string from either side diff -ur wxWidgets-2.6.3/src/common/url.cpp wxWidgets-2.6.3.3/src/common/url.cpp --- wxWidgets-2.6.3/src/common/url.cpp 2005-07-28 17:52:50.000000000 -0400 +++ wxWidgets-2.6.3.3/src/common/url.cpp 2006-06-11 14:52:42.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Guilhem Lavaux // Modified by: // Created: 20/07/1997 -// RCS-ID: $Id: url.cpp,v 1.54 2005/07/28 21:52:50 VZ Exp $ +// RCS-ID: $Id: url.cpp,v 1.54.2.1 2006/06/11 18:52:42 KH Exp $ // Copyright: (c) 1997, 1998 Guilhem Lavaux // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -185,7 +185,9 @@ #if wxUSE_PROTOCOL_HTTP if (!m_useProxy) #endif // wxUSE_PROTOCOL_HTTP - delete m_protocol; + if (m_protocol) + // Need to safely delete the socket (pending events) + m_protocol->Destroy(); } wxURL::~wxURL() diff -ur wxWidgets-2.6.3/src/common/utilscmn.cpp wxWidgets-2.6.3.3/src/common/utilscmn.cpp --- wxWidgets-2.6.3/src/common/utilscmn.cpp 2005-10-06 09:29:33.000000000 -0400 +++ wxWidgets-2.6.3.3/src/common/utilscmn.cpp 2006-06-25 20:01:03.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Julian Smart // Modified by: // Created: 29/01/98 -// RCS-ID: $Id: utilscmn.cpp,v 1.145.2.1 2005/10/06 13:29:33 VZ Exp $ +// RCS-ID: $Id: utilscmn.cpp,v 1.145.2.4 2006/06/26 00:01:03 VZ Exp $ // Copyright: (c) 1998 Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -93,6 +93,13 @@ #include "wx/msw/wince/time.h" #endif +#ifdef __WXMAC__ +#include "wx/mac/private.h" +#ifndef __DARWIN__ +#include "InternetConfig.h" +#endif +#endif + #if !defined(__MWERKS__) && !defined(__WXWINCE__) #include #include @@ -100,6 +107,8 @@ #if defined(__WXMSW__) #include "wx/msw/private.h" + #include "wx/msw/registry.h" + #include // needed for SHELLEXECUTEINFO #endif #if wxUSE_BASE @@ -531,189 +540,99 @@ // Launch default browser // ---------------------------------------------------------------------------- -bool wxLaunchDefaultBrowser(const wxString& url) +bool wxLaunchDefaultBrowser(const wxString& urlOrig) { - bool success = true; - - wxString finalurl = url; - - //if it isn't a full url, try appending http:// to it - if(wxURI(url).IsReference()) - finalurl = wxString(wxT("http://")) + url; - -#if defined(__WXMSW__) && wxUSE_CONFIG_NATIVE - - wxString command; + // set the scheme of url to http if it does not have one + wxString url(urlOrig); + if ( !wxURI(url).HasScheme() ) + url.Prepend(wxT("http://")); - // ShellExecute() always opens in the same window, - // so do it manually for new window (from Mahogany) - wxRegKey key(wxRegKey::HKCR, url.BeforeFirst(':') + wxT("\\shell\\open")); - if ( key.Exists() ) +#if defined(__WXMSW__) + WinStruct sei; + sei.lpFile = url.c_str(); + sei.lpVerb = _T("open"); + sei.nShow = SW_SHOWNORMAL; + + ::ShellExecuteEx(&sei); + + const int nResult = (int) sei.hInstApp; + + // Firefox returns file not found for some reason, so make an exception + // for it + if ( nResult > 32 || nResult == SE_ERR_FNF ) { - wxRegKey keyDDE(key, wxT("DDEExec")); - if ( keyDDE.Exists() ) - { - wxRegKey keyTopic(keyDDE, wxT("topic")); - wxString ddeTopic = keyTopic.QueryDefaultValue(); - - // we only know the syntax of WWW_OpenURL DDE request - if ( ddeTopic == wxT("WWW_OpenURL") ) - { - wxString ddeCmd = keyDDE.QueryDefaultValue(); - - // this is a bit naive but should work as -1 can't appear - // elsewhere in the DDE topic, normally - if ( ddeCmd.Replace(wxT("-1"), wxT("0"), - false /* only first occurence */) == 1 ) - { - // and also replace the parameters - if ( ddeCmd.Replace(wxT("%1"), url, false) == 1 ) - { - // magic incantation understood by wxMSW - command << wxT("WX_DDE#") - << wxRegKey(key, wxT("command")).QueryDefaultValue() << wxT('#') - << wxRegKey(keyDDE, wxT("application")).QueryDefaultValue() - << wxT('#') << ddeTopic << wxT('#') - << ddeCmd; - } - } - } - } - } - - //Try wxExecute - if it doesn't work or the regkey stuff - //above failed, fallback to opening the file in the same - //browser window - if ( command.empty() || !wxExecute(command) ) - { - int nResult; //HINSTANCE error code - -#if !defined(__WXWINCE__) - // CYGWIN and MINGW may have problems - so load ShellExecute - // dynamically - typedef HINSTANCE (WINAPI *LPShellExecute)(HWND hwnd, const wxChar* lpOperation, - const wxChar* lpFile, - const wxChar* lpParameters, - const wxChar* lpDirectory, - INT nShowCmd); - - HINSTANCE hShellDll = ::LoadLibrary(wxT("shell32.dll")); - if(hShellDll == NULL) - return false; - - LPShellExecute lpShellExecute = - (LPShellExecute) ::GetProcAddress(hShellDll, - wxString::Format(wxT("ShellExecute%s"), - -#if wxUSE_UNICODE - wxT("W") -#else - wxT("A") -#endif -#ifdef __WXWINCE__ - ) -#else - ).mb_str(wxConvLocal) -#endif - ); - if(lpShellExecute == NULL) - return false; - - // Windows sometimes doesn't open the browser correctly when using mime - // types, so do ShellExecute - i.e. start (from James Carroll) - nResult = (int) (*lpShellExecute)(NULL, NULL, finalurl.c_str(), - NULL, wxT(""), SW_SHOWNORMAL); - // Unload Shell32.dll - ::FreeLibrary(hShellDll); -#else - //Windows CE does not have normal ShellExecute - but it has - //ShellExecuteEx all the way back to version 1.0 - - - //Set up the SHELLEXECUTEINFO structure to pass to ShellExecuteEx - SHELLEXECUTEINFO sei; - sei.cbSize = sizeof(SHELLEXECUTEINFO); - sei.dwHotKey = 0; - sei.fMask = 0; - sei.hIcon = NULL; - sei.hInstApp = NULL; - sei.hkeyClass = NULL; - // Not in WinCE -#if 0 - sei.hMonitor = NULL; -#endif - sei.hProcess = NULL; - sei.hwnd = NULL; - sei.lpClass = NULL; - sei.lpDirectory = NULL; - sei.lpFile = finalurl.c_str(); - sei.lpIDList = NULL; - sei.lpParameters = NULL; - sei.lpVerb = TEXT("open"); - sei.nShow = SW_SHOWNORMAL; - - //Call ShellExecuteEx - ShellExecuteEx(&sei); - - //Get error code - nResult = (int) sei.hInstApp; -#endif - - // Hack for Firefox (returns file not found for some reason) - // from Angelo Mandato's wxHyperlinksCtrl - // HINSTANCE_ERROR == 32 (HINSTANCE_ERROR does not exist on Windows CE) - if (nResult <= 32 && nResult != SE_ERR_FNF) - return false; - #ifdef __WXDEBUG__ // Log something if SE_ERR_FNF happens - if(nResult == SE_ERR_FNF) - wxLogDebug(wxT("Got SE_ERR_FNF from ShellExecute - maybe FireFox")); + if ( nResult == SE_ERR_FNF ) + wxLogDebug(wxT("SE_ERR_FNF from ShellExecute -- maybe FireFox?")); +#endif // __WXDEBUG__ + return true; + } +#elif defined(__WXMAC__) + OSStatus err; + ICInstance inst; + SInt32 startSel; + SInt32 endSel; + + err = ICStart(&inst, 'STKA'); // put your app creator code here + if (err == noErr) + { +#if !TARGET_CARBON + err = ICFindConfigFile(inst, 0, NULL); #endif + if (err == noErr) + { + ConstStr255Param hint = 0; + startSel = 0; + endSel = url.Length(); + err = ICLaunchURL(inst, hint, url.fn_str(), endSel, &startSel, &endSel); + if (err != noErr) + wxLogDebug(wxT("ICLaunchURL error %d"), (int) err); + } + ICStop(inst); + return true; } - -#elif wxUSE_MIMETYPE - - // Non-windows way - wxFileType *ft = wxTheMimeTypesManager->GetFileTypeFromExtension (_T("html")); - if (!ft) + else { - wxLogError(_T("No default application can open .html extension")); + wxLogDebug(wxT("ICStart error %d"), (int) err); return false; } - - wxString mt; - ft->GetMimeType(&mt); - +#elif wxUSE_MIMETYPE + // Non-windows way + bool ok = false; wxString cmd; - bool ok = ft->GetOpenCommand (&cmd, wxFileType::MessageParameters(finalurl)); - delete ft; - if (ok) + wxFileType *ft = wxTheMimeTypesManager->GetFileTypeFromExtension(_T("html")); + if ( ft ) { - if ( !wxExecute(cmd) ) - { - wxLogError(_T("Failed to launch application for wxLaunchDefaultBrowser")); - return false; - } + wxString mt; + ft->GetMimeType(&mt); + + ok = ft->GetOpenCommand(&cmd, wxFileType::MessageParameters(url)); + delete ft; } - else + + if ( !ok || cmd.empty() ) { // fallback to checking for the BROWSER environment variable cmd = wxGetenv(wxT("BROWSER")); - if ( cmd.empty() || !wxExecute(cmd + wxT(" ") + finalurl) ) - return false; + if ( !cmd.empty() ) + cmd << _T(' ') << url; } + ok = ( !cmd.empty() && wxExecute(cmd) ); + if (ok) + return ok; -#else // !wxUSE_MIMETYPE && !(WXMSW && wxUSE_NATIVE_CONFIG) + // no file type for HTML extension + wxLogError(_T("No default application configured for HTML files.")); - success = false; +#endif // !wxUSE_MIMETYPE && !__WXMSW__ -#endif + wxLogSysError(_T("Failed to open URL \"%s\" in default browser."), + url.c_str()); - //success - hopefully - return success; + return false; } // ---------------------------------------------------------------------------- diff -ur wxWidgets-2.6.3/src/common/wincmn.cpp wxWidgets-2.6.3.3/src/common/wincmn.cpp --- wxWidgets-2.6.3/src/common/wincmn.cpp 2006-03-04 15:52:21.000000000 -0500 +++ wxWidgets-2.6.3.3/src/common/wincmn.cpp 2006-05-29 13:34:49.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Julian Smart, Vadim Zeitlin // Modified by: // Created: 13/07/98 -// RCS-ID: $Id: wincmn.cpp,v 1.237.2.5 2006/03/04 20:52:21 ABX Exp $ +// RCS-ID: $Id: wincmn.cpp,v 1.237.2.7 2006/05/29 17:34:49 MW Exp $ // Copyright: (c) wxWidgets team // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -217,8 +217,10 @@ // VZ: this one shouldn't exist... m_isBeingDeleted = false; +#if WX_USE_RESERVED_VIRTUALS // Reserved for future use m_windowReserved = NULL; +#endif } // common part of window creation process @@ -1830,7 +1832,7 @@ // If there is a sizer, use it instead of the constraints if ( GetSizer() ) { - int w, h; + int w = 0, h = 0; GetVirtualSize(&w, &h); GetSizer()->SetDimension( 0, 0, w, h ); } diff -ur wxWidgets-2.6.3/src/generic/calctrl.cpp wxWidgets-2.6.3.3/src/generic/calctrl.cpp --- wxWidgets-2.6.3/src/generic/calctrl.cpp 2006-01-18 05:38:54.000000000 -0500 +++ wxWidgets-2.6.3.3/src/generic/calctrl.cpp 2006-06-14 07:41:42.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Vadim Zeitlin // Modified by: // Created: 29.12.99 -// RCS-ID: $Id: calctrl.cpp,v 1.70.2.3 2006/01/18 10:38:54 JS Exp $ +// RCS-ID: $Id: calctrl.cpp,v 1.70.2.4 2006/06/14 11:41:42 JS Exp $ // Copyright: (c) 1999 Vadim Zeitlin // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -788,16 +788,27 @@ wxSize sizeCombo = m_comboMonth->GetSize(); wxSize sizeStatic = m_staticMonth->GetSize(); wxSize sizeSpin = m_spinYear->GetSize(); - int dy = (sizeCombo.y - sizeStatic.y) / 2; + + // wxMSW sometimes reports the wrong combo height, + // so on this platform we'll use the spin control + // height instead. +#ifdef __WXMSW__ + int maxHeight = sizeSpin.y; + int requiredSpinHeight = -1; +#else + int maxHeight = sizeCombo.y; + int requiredSpinHeight = sizeCombo.y; +#endif + int dy = (maxHeight - sizeStatic.y) / 2; m_comboMonth->Move(x, y); - m_staticMonth->SetSize(x, y + dy, sizeCombo.x, sizeStatic.y); + m_staticMonth->SetSize(x, y + dy, sizeCombo.x, -1, sizeStatic.y); int xDiff = sizeCombo.x + HORZ_MARGIN; - m_spinYear->SetSize(x + xDiff, y, width - xDiff, sizeCombo.y); + m_spinYear->SetSize(x + xDiff, y, width - xDiff, requiredSpinHeight); m_staticYear->SetSize(x + xDiff, y + dy, width - xDiff, sizeStatic.y); - yDiff = wxMax(sizeSpin.y, sizeCombo.y) + VERT_MARGIN; + yDiff = wxMax(sizeSpin.y, maxHeight) + VERT_MARGIN; } else // no controls on the top { diff -ur wxWidgets-2.6.3/src/generic/dirctrlg.cpp wxWidgets-2.6.3.3/src/generic/dirctrlg.cpp --- wxWidgets-2.6.3/src/generic/dirctrlg.cpp 2006-03-05 15:50:25.000000000 -0500 +++ wxWidgets-2.6.3.3/src/generic/dirctrlg.cpp 2006-06-27 03:55:15.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Harm van der Heijden, Robert Roebling, Julian Smart // Modified by: // Created: 12/12/98 -// RCS-ID: $Id: dirctrlg.cpp,v 1.129.2.5 2006/03/05 20:50:25 VZ Exp $ +// RCS-ID: $Id: dirctrlg.cpp,v 1.129.2.6 2006/06/27 07:55:15 JS Exp $ // Copyright: (c) Harm van der Heijden, Robert Roebling and Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -121,13 +121,8 @@ path.Printf(wxT("%c:\\"), driveBuffer[i]); name.Printf(wxT("%c:"), driveBuffer[i]); -#if !defined(__WXWINCE__) - wxChar pname[52]; - if (GetVolumeInformation( path.c_str(), pname, 52, NULL, NULL, NULL, NULL, 0 )) - { - name << _T(' ') << pname; - } -#endif // __WXWINCE__ + // Do not use GetVolumeInformation to further decorate the + // name, since it can cause severe delays on network drives. int imageId; int driveType = ::GetDriveType(path); diff -ur wxWidgets-2.6.3/src/generic/dragimgg.cpp wxWidgets-2.6.3.3/src/generic/dragimgg.cpp --- wxWidgets-2.6.3/src/generic/dragimgg.cpp 2006-01-21 11:46:38.000000000 -0500 +++ wxWidgets-2.6.3.3/src/generic/dragimgg.cpp 2006-05-29 13:34:52.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Julian Smart // Modified by: // Created: 29/2/2000 -// RCS-ID: $Id: dragimgg.cpp,v 1.17.2.1 2006/01/21 16:46:38 JS Exp $ +// RCS-ID: $Id: dragimgg.cpp,v 1.17.2.2 2006/05/29 17:34:52 MW Exp $ // Copyright: (c) Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -128,7 +128,7 @@ { wxFont font(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT)); - long w, h; + long w = 0, h = 0; wxScreenDC dc; dc.SetFont(font); dc.GetTextExtent(str, & w, & h); diff -ur wxWidgets-2.6.3/src/generic/filedlgg.cpp wxWidgets-2.6.3.3/src/generic/filedlgg.cpp --- wxWidgets-2.6.3/src/generic/filedlgg.cpp 2006-03-06 05:44:48.000000000 -0500 +++ wxWidgets-2.6.3.3/src/generic/filedlgg.cpp 2006-05-23 06:33:47.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Robert Roebling // Modified by: // Created: 12/12/98 -// RCS-ID: $Id: filedlgg.cpp,v 1.143.2.2 2006/03/06 10:44:48 JS Exp $ +// RCS-ID: $Id: filedlgg.cpp,v 1.143.2.3 2006/05/23 10:33:47 JS Exp $ // Copyright: (c) Robert Roebling // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -1307,13 +1307,21 @@ // No double-click on most WinCE devices, so do action immediately. HandleAction( filename ); #else - if (filename == wxT("..")) return; + if (filename == wxT("..")) + { + inSelected = false; + return; + } wxString dir = m_list->GetDir(); if (!IsTopMostDir(dir)) dir += wxFILE_SEP_PATH; dir += filename; - if (wxDirExists(dir)) return; + if (wxDirExists(dir)) + { + inSelected = false; + return; + } ignoreChanges = true; m_text->SetValue( filename ); diff -ur wxWidgets-2.6.3/src/generic/fontdlgg.cpp wxWidgets-2.6.3.3/src/generic/fontdlgg.cpp --- wxWidgets-2.6.3/src/generic/fontdlgg.cpp 2006-03-02 07:57:19.000000000 -0500 +++ wxWidgets-2.6.3.3/src/generic/fontdlgg.cpp 2006-05-29 13:34:52.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Julian Smart // Modified by: // Created: 04/01/98 -// RCS-ID: $Id: fontdlgg.cpp,v 1.51.2.2 2006/03/02 12:57:19 JS Exp $ +// RCS-ID: $Id: fontdlgg.cpp,v 1.51.2.3 2006/05/29 17:34:52 MW Exp $ // Copyright: (c) Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -84,7 +84,7 @@ { dc.SetFont(font); // Calculate vertical centre - long w, h; + long w = 0, h = 0; dc.GetTextExtent( wxT("X"), &w, &h); dc.SetTextForeground(GetForegroundColour()); dc.SetClippingRegion(2, 2, size.x-4, size.y-4); diff -ur wxWidgets-2.6.3/src/generic/grid.cpp wxWidgets-2.6.3.3/src/generic/grid.cpp --- wxWidgets-2.6.3/src/generic/grid.cpp 2006-03-07 09:50:50.000000000 -0500 +++ wxWidgets-2.6.3.3/src/generic/grid.cpp 2006-07-08 12:34:29.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Michael Bedward (based on code by Julian Smart, Robin Dunn) // Modified by: Robin Dunn, Vadim Zeitlin // Created: 1/08/1999 -// RCS-ID: $Id: grid.cpp,v 1.345.2.3 2006/03/07 14:50:50 JS Exp $ +// RCS-ID: $Id: grid.cpp,v 1.345.2.5 2006/07/08 16:34:29 RD Exp $ // Copyright: (c) Michael Bedward (mbedward@ozemail.com.au) // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -6200,6 +6200,32 @@ claimed = GetEventHandler()->ProcessEvent(gridEvt); vetoed = !gridEvt.IsAllowed(); } + else if ( type == wxEVT_GRID_LABEL_LEFT_CLICK || + type == wxEVT_GRID_LABEL_LEFT_DCLICK || + type == wxEVT_GRID_LABEL_RIGHT_CLICK || + type == wxEVT_GRID_LABEL_RIGHT_DCLICK ) + { + wxPoint pos = mouseEv.GetPosition(); + + if ( mouseEv.GetEventObject() == GetGridRowLabelWindow() ) + pos.y += GetColLabelSize(); + if ( mouseEv.GetEventObject() == GetGridColLabelWindow() ) + pos.x += GetRowLabelSize(); + + wxGridEvent gridEvt( GetId(), + type, + this, + row, col, + pos.x, + pos.y, + false, + mouseEv.ControlDown(), + mouseEv.ShiftDown(), + mouseEv.AltDown(), + mouseEv.MetaDown() ); + claimed = GetEventHandler()->ProcessEvent(gridEvt); + vetoed = !gridEvt.IsAllowed(); + } else { wxGridEvent gridEvt( GetId(), @@ -7455,8 +7481,8 @@ int vertAlign, int textOrientation ) { - long textWidth, textHeight; - long lineWidth, lineHeight; + long textWidth = 0, textHeight = 0; + long lineWidth = 0, lineHeight = 0; int nLines; dc.SetClippingRegion( rect ); @@ -7583,7 +7609,7 @@ { long w = 0; long h = 0; - long lineW, lineH; + long lineW = 0, lineH = 0; size_t i; for ( i = 0; i < lines.GetCount(); i++ ) diff -ur wxWidgets-2.6.3/src/generic/listctrl.cpp wxWidgets-2.6.3.3/src/generic/listctrl.cpp --- wxWidgets-2.6.3/src/generic/listctrl.cpp 2006-03-10 16:37:20.000000000 -0500 +++ wxWidgets-2.6.3.3/src/generic/listctrl.cpp 2006-04-02 09:39:01.000000000 -0400 @@ -3,7 +3,7 @@ // Purpose: generic implementation of wxListCtrl // Author: Robert Roebling // Vadim Zeitlin (virtual list control support) -// Id: $Id: listctrl.cpp,v 1.378.2.7 2006/03/10 21:37:20 RD Exp $ +// Id: $Id: listctrl.cpp,v 1.378.2.9 2006/04/02 13:39:01 VZ Exp $ // Copyright: (c) 1998 Robert Roebling // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -2914,6 +2914,7 @@ void wxListMainWindow::OnMouse( wxMouseEvent &event ) { + #ifdef __WXMAC__ // On wxMac we can't depend on the EVT_KILL_FOCUS event to properly // shutdown the edit control when the mouse is clicked elsewhere on the @@ -2937,7 +2938,15 @@ } if ( !HasCurrent() || IsEmpty() ) + { + if (event.RightDown()) + { + SendNotify( (size_t)-1, wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK, event.GetPosition() ); + // Allow generation of context menu event + event.Skip(); + } return; + } if (m_dirty) return; @@ -3005,11 +3014,17 @@ m_dragCount = 0; } - if ( !hitResult ) + if ( !hitResult ) { - // outside of any item - return; - } + if (event.RightDown()) + { + SendNotify( (size_t) -1, wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK, event.GetPosition() ); + // Allow generation of context menu event + event.Skip(); + } + + return; + } bool forceClick = false; if (event.ButtonDClick()) @@ -3319,6 +3334,10 @@ case WXK_PRIOR: { + // avoid floating point exception + if (m_linesPerPage == 0) + m_linesPerPage = 1; + int steps = InReportView() ? m_linesPerPage - 1 : m_current % m_linesPerPage; int index = m_current - steps; @@ -3331,6 +3350,10 @@ case WXK_NEXT: { + // avoid floating point exception + if (m_linesPerPage == 0) + m_linesPerPage = 1; + int steps = InReportView() ? m_linesPerPage - 1 : m_linesPerPage - (m_current % m_linesPerPage) - 1; @@ -4667,7 +4690,13 @@ void wxListMainWindow::OnScroll(wxScrollWinEvent& event) { - // update our idea of which lines are shown when we redraw the window the + int cw, ch, vw, vh; + GetVirtualSize(&vw, &vh); + GetClientSize(&cw, &ch); + if (event.GetOrientation() == wxVERTICAL && ch >= vh) + return; + + // update our idea of which lines are shown when we redraw the window the // next time ResetVisibleLinesRange(); @@ -5575,12 +5604,12 @@ #if wxABI_VERSION >= 20603 void wxGenericListCtrl::DoClientToScreen( int *x, int *y ) const { - return m_mainWin->DoClientToScreen(x, y); + m_mainWin->DoClientToScreen(x, y); } void wxGenericListCtrl::DoScreenToClient( int *x, int *y ) const { - return m_mainWin->DoScreenToClient(x, y); + m_mainWin->DoScreenToClient(x, y); } #endif // 2.6.3 diff -ur wxWidgets-2.6.3/src/generic/notebook.cpp wxWidgets-2.6.3.3/src/generic/notebook.cpp --- wxWidgets-2.6.3/src/generic/notebook.cpp 2005-09-17 17:00:47.000000000 -0400 +++ wxWidgets-2.6.3.3/src/generic/notebook.cpp 2006-05-29 16:37:07.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Julian Smart // Modified by: // Created: 17/09/98 -// RCS-ID: $Id: notebook.cpp,v 1.36 2005/09/17 21:00:47 VZ Exp $ +// RCS-ID: $Id: notebook.cpp,v 1.36.2.1 2006/05/29 20:37:07 MW Exp $ // Copyright: (c) Julian Smart // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -76,6 +76,12 @@ // Private class // ============================================================================ +WX_DECLARE_HASH_MAP(int, wxNotebookPage*, wxIntegerHash, wxIntegerEqual, + wxIntToNotebookPageHashMap); + +WX_DECLARE_HASH_MAP(wxNotebookPage*, int, wxPointerHash, wxPointerEqual, + wxNotebookPageToIntHashMap); + // This reuses wxTabView to draw the tabs. class WXDLLEXPORT wxNotebookTabView: public wxTabView { @@ -89,10 +95,24 @@ // Allows vetoing virtual bool OnTabPreActivate(int activateId, int deactivateId); + // map integer ids used by wxTabView to wxNotebookPage pointers + int GetId(wxNotebookPage *page); + wxNotebookPage *GetPage(int id) { return m_idToPage[id]; } + protected: - wxNotebook* m_notebook; + wxNotebook* m_notebook; + +private: + wxIntToNotebookPageHashMap m_idToPage; + wxNotebookPageToIntHashMap m_pageToId; + int m_nextid; }; +static int GetPageId(wxTabView *tabview, wxNotebookPage *page) +{ + return wx_static_cast(wxNotebookTabView*, tabview)->GetId(page); +} + // ---------------------------------------------------------------------------- // wxNotebook construction // ---------------------------------------------------------------------------- @@ -167,7 +187,7 @@ wxNotebookPage* pPage = GetPage(nPage); - m_tabView->SetTabSelection((int) (long) pPage); + m_tabView->SetTabSelection(GetPageId(m_tabView, pPage)); // TODO return 0; @@ -192,7 +212,7 @@ wxNotebookPage* page = GetPage(nPage); if (page) { - m_tabView->SetTabText((int) (long) page, strText); + m_tabView->SetTabText(GetPageId(m_tabView, page), strText); Refresh(); return true; } @@ -206,7 +226,7 @@ wxNotebookPage* page = ((wxNotebook*)this)->GetPage(nPage); if (page) - return m_tabView->GetTabText((int) (long) page); + return m_tabView->GetTabText(GetPageId(m_tabView, page)); else return wxEmptyString; } @@ -262,7 +282,7 @@ wxNotebookPage* pPage = GetPage(nPage); - m_tabView->RemoveTab((int) (long) pPage); + m_tabView->RemoveTab(GetPageId(m_tabView, pPage)); m_pages.Remove(pPage); delete pPage; @@ -276,7 +296,7 @@ { m_nSelection = -1; - m_tabView->SetTabSelection((int) (long) GetPage(0), false); + m_tabView->SetTabSelection(GetPageId(m_tabView, GetPage(0)), false); if (m_nSelection != 0) ChangePage(-1, 0); @@ -311,7 +331,7 @@ wxNotebookPage* pPage = GetPage(nPage); - m_tabView->RemoveTab((int) (long) pPage); + m_tabView->RemoveTab(GetPageId(m_tabView, pPage)); m_pages.Remove(pPage); @@ -390,7 +410,7 @@ wxASSERT( pPage != NULL ); wxCHECK( IS_VALID_PAGE(nPage) || nPage == GetPageCount(), false ); - m_tabView->AddTab((int) (long) pPage, strText); + m_tabView->AddTab(GetPageId(m_tabView, pPage), strText); if (!bSelect) pPage->Show(false); @@ -402,7 +422,7 @@ { // This will cause ChangePage to be called, via OnSelPage - m_tabView->SetTabSelection((int) (long) pPage, true); + m_tabView->SetTabSelection(GetPageId(m_tabView, pPage), true); } // some page must be selected: either this one or the first one if there is @@ -656,7 +676,8 @@ IMPLEMENT_CLASS(wxNotebookTabView, wxTabView) -wxNotebookTabView::wxNotebookTabView(wxNotebook *notebook, long style): wxTabView(style) +wxNotebookTabView::wxNotebookTabView(wxNotebook *notebook, long style) + : wxTabView(style), m_nextid(1) { m_notebook = notebook; @@ -669,6 +690,19 @@ { } +int wxNotebookTabView::GetId(wxNotebookPage *page) +{ + int& id = m_pageToId[page]; + + if (!id) + { + id = m_nextid++; + m_idToPage[id] = page; + } + + return id; +} + // Called when a tab is activated void wxNotebookTabView::OnTabActivate(int activateId, int deactivateId) { @@ -679,8 +713,8 @@ // Translate from wxTabView's ids (which aren't position-dependent) // to wxNotebook's (which are). - wxNotebookPage* pActive = (wxNotebookPage*) activateId; - wxNotebookPage* pDeactive = (wxNotebookPage*) deactivateId; + wxNotebookPage* pActive = GetPage(activateId); + wxNotebookPage* pDeactive = GetPage(deactivateId); int activatePos = m_notebook->FindPagePosition(pActive); int deactivatePos = m_notebook->FindPagePosition(pDeactive); @@ -702,8 +736,8 @@ // Translate from wxTabView's ids (which aren't position-dependent) // to wxNotebook's (which are). - wxNotebookPage* pActive = (wxNotebookPage*) activateId; - wxNotebookPage* pDeactive = (wxNotebookPage*) deactivateId; + wxNotebookPage* pActive = GetPage(activateId); + wxNotebookPage* pDeactive = GetPage(deactivateId); int activatePos = m_notebook->FindPagePosition(pActive); int deactivatePos = m_notebook->FindPagePosition(pDeactive); diff -ur wxWidgets-2.6.3/src/generic/progdlgg.cpp wxWidgets-2.6.3.3/src/generic/progdlgg.cpp --- wxWidgets-2.6.3/src/generic/progdlgg.cpp 2005-04-07 10:52:22.000000000 -0400 +++ wxWidgets-2.6.3.3/src/generic/progdlgg.cpp 2006-05-29 13:34:54.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Karsten Ballüder // Modified by: // Created: 09.05.1999 -// RCS-ID: $Id: progdlgg.cpp,v 1.93 2005/04/07 14:52:22 ABX Exp $ +// RCS-ID: $Id: progdlgg.cpp,v 1.93.2.1 2006/05/29 17:34:54 MW Exp $ // Copyright: (c) Karsten Ballüder // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -145,7 +145,7 @@ wxClientDC dc(this); dc.SetFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT)); - long widthText; + long widthText = 0; dc.GetTextExtent(message, &widthText, NULL, NULL, NULL, NULL); wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL); diff -ur wxWidgets-2.6.3/src/generic/sashwin.cpp wxWidgets-2.6.3.3/src/generic/sashwin.cpp --- wxWidgets-2.6.3/src/generic/sashwin.cpp 2004-12-14 15:41:53.000000000 -0500 +++ wxWidgets-2.6.3.3/src/generic/sashwin.cpp 2006-05-29 13:34:55.000000000 -0400 @@ -6,7 +6,7 @@ // Author: Julian Smart // Modified by: // Created: 01/02/97 -// RCS-ID: $Id: sashwin.cpp,v 1.46 2004/12/14 20:41:53 ABX Exp $ +// RCS-ID: $Id: sashwin.cpp,v 1.46.2.1 2006/05/29 17:34:55 MW Exp $ // Copyright: (c) Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -98,7 +98,7 @@ void wxSashWindow::OnMouseEvent(wxMouseEvent& event) { - wxCoord x, y; + wxCoord x = 0, y = 0; event.GetPosition(&x, &y); wxSashEdgePosition sashHit = SashHitTest(x, y); diff -ur wxWidgets-2.6.3/src/generic/scrlwing.cpp wxWidgets-2.6.3.3/src/generic/scrlwing.cpp --- wxWidgets-2.6.3/src/generic/scrlwing.cpp 2006-03-13 10:10:38.000000000 -0500 +++ wxWidgets-2.6.3.3/src/generic/scrlwing.cpp 2006-06-09 10:04:57.000000000 -0400 @@ -5,7 +5,7 @@ // Modified by: Vadim Zeitlin on 31.08.00: wxScrollHelper allows to implement. // Ron Lee on 10.4.02: virtual size / auto scrollbars et al. // Created: 01/02/97 -// RCS-ID: $Id: scrlwing.cpp,v 1.69.2.1 2006/03/13 15:10:38 JS Exp $ +// RCS-ID: $Id: scrlwing.cpp,v 1.69.2.3 2006/06/09 14:04:57 JS Exp $ // Copyright: (c) wxWidgets team // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -882,7 +882,7 @@ if (((x_pos == -1) || (x_pos == m_xScrollPosition)) && ((y_pos == -1) || (y_pos == m_yScrollPosition))) return; - int w, h; + int w = 0, h = 0; GetTargetSize(&w, &h); if ((x_pos != -1) && (m_xScrollPixelsPerLine)) @@ -1278,7 +1278,7 @@ // If we're the scroll target, take into account the // virtual size and scrolled position of the window. - int x, y, w, h; + int x = 0, y = 0, w = 0, h = 0; CalcScrolledPosition(0,0, &x,&y); GetVirtualSize(&w, &h); GetSizer()->SetDimension(x, y, w, h); @@ -1319,6 +1319,7 @@ { wxSize best; + bool addClientSizeDiff = true; if ( GetSizer() ) { wxSize b = GetSizer()->GetMinSize(); @@ -1333,7 +1334,14 @@ if ( GetMinSize().IsFullySpecified() ) minSize = GetMinSize(); else + { minSize = GetSize(); + + // If we're using the overall size, we don't want to then + // add to it, or we'll successively grow the window over + // multiple layouts. + addClientSizeDiff = false; + } if (ppuX > 0) b.x = minSize.x; @@ -1345,9 +1353,12 @@ return wxWindow::DoGetBestSize(); // Add any difference between size and client size - wxSize diff = GetSize() - GetClientSize(); - best.x += wxMax(0, diff.x); - best.y += wxMax(0, diff.y); + if (addClientSizeDiff) + { + wxSize diff = GetSize() - GetClientSize(); + best.x += wxMax(0, diff.x); + best.y += wxMax(0, diff.y); + } return best; } diff -ur wxWidgets-2.6.3/src/generic/statusbr.cpp wxWidgets-2.6.3.3/src/generic/statusbr.cpp --- wxWidgets-2.6.3/src/generic/statusbr.cpp 2005-06-07 15:01:45.000000000 -0400 +++ wxWidgets-2.6.3.3/src/generic/statusbr.cpp 2006-05-29 13:34:55.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Julian Smart // Modified by: // Created: 01/02/97 -// RCS-ID: $Id: statusbr.cpp,v 1.68 2005/06/07 19:01:45 ABX Exp $ +// RCS-ID: $Id: statusbr.cpp,v 1.68.2.1 2006/05/29 17:34:55 MW Exp $ // Copyright: (c) Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -237,7 +237,7 @@ wxString text(GetStatusText(i)); - long x, y; + long x = 0, y = 0; dc.GetTextExtent(text, &x, &y); diff -ur wxWidgets-2.6.3/src/generic/treectlg.cpp wxWidgets-2.6.3.3/src/generic/treectlg.cpp --- wxWidgets-2.6.3/src/generic/treectlg.cpp 2006-02-27 16:49:48.000000000 -0500 +++ wxWidgets-2.6.3.3/src/generic/treectlg.cpp 2006-05-29 13:34:56.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Robert Roebling // Created: 01/02/97 // Modified: 22/10/98 - almost total rewrite, simpler interface (VZ) -// Id: $Id: treectlg.cpp,v 1.173.2.4 2006/02/27 21:49:48 RR Exp $ +// Id: $Id: treectlg.cpp,v 1.173.2.5 2006/05/29 17:34:56 MW Exp $ // Copyright: (c) 1998 Robert Roebling and Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -3557,7 +3557,7 @@ { wxCHECK_RET( m_freezeCount > 0, _T("thawing unfrozen tree control?") ); - if ( !--m_freezeCount ) + if ( --m_freezeCount == 0 ) { Refresh(); } diff -ur wxWidgets-2.6.3/src/generic/vlbox.cpp wxWidgets-2.6.3.3/src/generic/vlbox.cpp --- wxWidgets-2.6.3/src/generic/vlbox.cpp 2006-01-18 04:50:37.000000000 -0500 +++ wxWidgets-2.6.3.3/src/generic/vlbox.cpp 2006-04-14 11:24:13.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Vadim Zeitlin // Modified by: // Created: 31.05.03 -// RCS-ID: $Id: vlbox.cpp,v 1.22.2.1 2006/01/18 09:50:37 JS Exp $ +// RCS-ID: $Id: vlbox.cpp,v 1.22.2.2 2006/04/14 15:24:13 VZ Exp $ // Copyright: (c) 2003 Vadim Zeitlin // License: wxWindows license /////////////////////////////////////////////////////////////////////////////// @@ -378,8 +378,8 @@ // the update rectangle wxRect rectUpdate = GetUpdateClientRect(); - // Fill it with background colour - dc.SetBrush(GetBackgroundColour()); + // fill it with background colour + dc.SetBackground(GetBackgroundColour()); dc.Clear(); // the bounding rectangle of the current line diff -ur wxWidgets-2.6.3/src/gtk/clipbrd.cpp wxWidgets-2.6.3.3/src/gtk/clipbrd.cpp --- wxWidgets-2.6.3/src/gtk/clipbrd.cpp 2006-03-24 18:51:29.000000000 -0500 +++ wxWidgets-2.6.3.3/src/gtk/clipbrd.cpp 2006-04-15 05:57:41.000000000 -0400 @@ -2,7 +2,7 @@ // Name: gtk/clipbrd.cpp // Purpose: // Author: Robert Roebling -// Id: $Id: clipbrd.cpp,v 1.60.2.3 2006/03/24 23:51:29 RD Exp $ +// Id: $Id: clipbrd.cpp,v 1.60.2.5 2006/04/15 09:57:41 SN Exp $ // Copyright: (c) 1998 Robert Roebling // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -265,7 +265,7 @@ // It shall return the time which was used to set the data. if (selection_data->target == g_timestampAtom) { - uint timestamp = GPOINTER_TO_UINT (signal_data); + guint timestamp = GPOINTER_TO_UINT (signal_data); gtk_selection_data_set(selection_data, GDK_SELECTION_TYPE_INTEGER, 32, @@ -493,17 +493,22 @@ } delete[] array; - + +#ifdef __WXGTK20__ gtk_signal_connect( GTK_OBJECT(m_clipboardWidget), "selection_get", GTK_SIGNAL_FUNC(selection_handler), GUINT_TO_POINTER( -#ifdef __WXGTK20__ gtk_get_current_event_time() + ) ); #else + gtk_signal_connect( GTK_OBJECT(m_clipboardWidget), + "selection_get", + GTK_SIGNAL_FUNC(selection_handler), + GUINT_TO_POINTER( gdk_event_get_time(gtk_get_current_event()) + ) ); #endif - ) ); #if wxUSE_THREADS /* disable GUI threads */ diff -ur wxWidgets-2.6.3/src/gtk/colour.cpp wxWidgets-2.6.3.3/src/gtk/colour.cpp --- wxWidgets-2.6.3/src/gtk/colour.cpp 2005-07-22 14:01:45.000000000 -0400 +++ wxWidgets-2.6.3.3/src/gtk/colour.cpp 2006-06-15 15:35:34.000000000 -0400 @@ -2,7 +2,7 @@ // Name: colour.cpp // Purpose: // Author: Robert Roebling -// Id: $Id: colour.cpp,v 1.49 2005/07/22 18:01:45 ABX Exp $ +// Id: $Id: colour.cpp,v 1.49.2.1 2006/06/15 19:35:34 PC Exp $ // Copyright: (c) 1998 Robert Roebling // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -154,9 +154,9 @@ wxColour::wxColour( unsigned char red, unsigned char green, unsigned char blue ) { m_refData = new wxColourRefData(); - M_COLDATA->m_color.red = ((unsigned short)red) << SHIFT; - M_COLDATA->m_color.green = ((unsigned short)green) << SHIFT; - M_COLDATA->m_color.blue = ((unsigned short)blue) << SHIFT; + M_COLDATA->m_color.red = (((unsigned short)red) << SHIFT) + red; + M_COLDATA->m_color.green = (((unsigned short)green) << SHIFT) + green; + M_COLDATA->m_color.blue = (((unsigned short)blue) << SHIFT) + blue; M_COLDATA->m_color.pixel = 0; } @@ -234,9 +234,9 @@ { AllocExclusive(); - M_COLDATA->m_color.red = ((unsigned short)red) << SHIFT; - M_COLDATA->m_color.green = ((unsigned short)green) << SHIFT; - M_COLDATA->m_color.blue = ((unsigned short)blue) << SHIFT; + M_COLDATA->m_color.red = (((unsigned short)red) << SHIFT) + red; + M_COLDATA->m_color.green = (((unsigned short)green) << SHIFT) + green; + M_COLDATA->m_color.blue = (((unsigned short)blue) << SHIFT) + blue; M_COLDATA->m_color.pixel = 0; M_COLDATA->m_colormap = (GdkColormap*) NULL; diff -ur wxWidgets-2.6.3/src/gtk/combobox.cpp wxWidgets-2.6.3.3/src/gtk/combobox.cpp --- wxWidgets-2.6.3/src/gtk/combobox.cpp 2006-03-17 11:00:51.000000000 -0500 +++ wxWidgets-2.6.3.3/src/gtk/combobox.cpp 2006-06-26 08:32:42.000000000 -0400 @@ -2,7 +2,7 @@ // Name: combobox.cpp // Purpose: // Author: Robert Roebling -// Id: $Id: combobox.cpp,v 1.131.2.2 2006/03/17 16:00:51 RR Exp $ +// Id: $Id: combobox.cpp,v 1.131.2.3 2006/06/26 12:32:42 VZ Exp $ // Copyright: (c) 1998 Robert Roebling // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -80,11 +80,15 @@ // when the popup is hidden, throw a SELECTED event only if the combobox // selection changed. int curSelection = combo->GetCurrentSelection(); - - // reset the selection flag to value meaning that it is hidden + + const bool hasChanged = curSelection != g_SelectionBeforePopup; + + // reset the selection flag to value meaning that it is hidden and do it + // now, before generating the events, so that GetSelection() returns the + // new value from the event handler g_SelectionBeforePopup = wxID_NONE; - - if (g_SelectionBeforePopup != curSelection) + + if ( hasChanged ) { wxCommandEvent event( wxEVT_COMMAND_COMBOBOX_SELECTED, combo->GetId() ); event.SetInt( curSelection ); diff -ur wxWidgets-2.6.3/src/gtk/dcclient.cpp wxWidgets-2.6.3.3/src/gtk/dcclient.cpp --- wxWidgets-2.6.3/src/gtk/dcclient.cpp 2005-08-17 17:40:44.000000000 -0400 +++ wxWidgets-2.6.3.3/src/gtk/dcclient.cpp 2006-05-24 22:40:41.000000000 -0400 @@ -2,7 +2,7 @@ // Name: gtk/dcclient.cpp // Purpose: // Author: Robert Roebling -// RCS-ID: $Id: dcclient.cpp,v 1.204 2005/08/17 21:40:44 MR Exp $ +// RCS-ID: $Id: dcclient.cpp,v 1.204.2.1 2006/05/25 02:40:41 PC Exp $ // Copyright: (c) 1998 Robert Roebling, Chris Breeze // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -1610,15 +1610,16 @@ void wxWindowDC::DoDrawRotatedText( const wxString &text, wxCoord x, wxCoord y, double angle ) { - if (angle == 0.0) - { - DrawText(text, x, y); + if (!m_window || text.empty()) return; - } wxCHECK_RET( Ok(), wxT("invalid window dc") ); - if (!m_window) return; + if (wxIsNullDouble(angle)) + { + DrawText(text, x, y); + return; + } wxCoord w; wxCoord h; diff -ur wxWidgets-2.6.3/src/gtk/filedlg.cpp wxWidgets-2.6.3.3/src/gtk/filedlg.cpp --- wxWidgets-2.6.3/src/gtk/filedlg.cpp 2005-11-14 18:02:03.000000000 -0500 +++ wxWidgets-2.6.3.3/src/gtk/filedlg.cpp 2006-05-18 22:39:24.000000000 -0400 @@ -2,7 +2,7 @@ // Name: gtk/filedlg.cpp // Purpose: native implementation of wxFileDialog // Author: Robert Roebling, Zbigniew Zagorski, Mart Raudsepp -// Id: $Id: filedlg.cpp,v 1.67.2.1 2005/11/14 23:02:03 RR Exp $ +// Id: $Id: filedlg.cpp,v 1.67.2.3 2006/05/19 02:39:24 MR Exp $ // Copyright: (c) 1998 Robert Roebling, 2004 Zbigniew Zagorski, 2005 Mart Raudsepp // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -181,6 +181,8 @@ ok_btn_stock, GTK_RESPONSE_ACCEPT, NULL); + gtk_dialog_set_default_response(GTK_DIALOG(m_widget), GTK_RESPONSE_ACCEPT); + if ( style & wxMULTIPLE ) gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(m_widget), true); @@ -206,7 +208,7 @@ wxConvFileName->cWX2MB(defaultFileName)); #if GTK_CHECK_VERSION(2,7,3) - if (!gtk_check_version(2,7,3)) + if ((style & wxOVERWRITE_PROMPT) && !gtk_check_version(2,7,3)) gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(m_widget), TRUE); #endif } diff -ur wxWidgets-2.6.3/src/gtk/scrolwin.cpp wxWidgets-2.6.3.3/src/gtk/scrolwin.cpp --- wxWidgets-2.6.3/src/gtk/scrolwin.cpp 2005-11-02 10:57:38.000000000 -0500 +++ wxWidgets-2.6.3.3/src/gtk/scrolwin.cpp 2006-06-10 15:52:49.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Robert Roebling // Modified by: Ron Lee // Created: 01/02/97 -// RCS-ID: $Id: scrolwin.cpp,v 1.44.2.1 2005/11/02 15:57:38 JS Exp $ +// RCS-ID: $Id: scrolwin.cpp,v 1.44.2.5 2006/06/10 19:52:49 PC Exp $ // Copyright: (c) Robert Roebling // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -58,8 +58,8 @@ // data //----------------------------------------------------------------------------- -extern bool g_blockEventsOnDrag; extern bool g_blockEventsOnScroll; +extern bool g_mouseButtonDown; //----------------------------------------------------------------------------- // idle system @@ -69,68 +69,63 @@ extern bool g_isIdle; //----------------------------------------------------------------------------- -// "value_changed" from m_vAdjust +// "value_changed" from m_[hv]Adjust //----------------------------------------------------------------------------- extern "C" { -static void gtk_scrolled_window_vscroll_callback( GtkAdjustment *adjust, +static void gtk_scrolled_window_scroll_callback( GtkAdjustment *adjust, SCROLLBAR_CBACK_ARG wxScrolledWindow *win ) { if (g_isIdle) wxapp_install_idle_handler(); - if (g_blockEventsOnDrag) return; - - if (!win->m_hasVMT) return; - - win->GtkVScroll( adjust->value, - GET_SCROLL_TYPE(GTK_SCROLLED_WINDOW(win->m_widget)->vscrollbar) ); + win->HandleScrollEvent(adjust); } } //----------------------------------------------------------------------------- -// "value_changed" from m_hAdjust +// "button_press_event" from scrollbar //----------------------------------------------------------------------------- extern "C" { -static void gtk_scrolled_window_hscroll_callback( GtkAdjustment *adjust, - SCROLLBAR_CBACK_ARG - wxScrolledWindow *win ) +static gint gtk_scrollbar_button_press_callback( GtkRange *widget, + GdkEventButton *gdk_event, + wxWindowGTK *win) { if (g_isIdle) wxapp_install_idle_handler(); - if (g_blockEventsOnDrag) return; - if (!win->m_hasVMT) return; + g_blockEventsOnScroll = TRUE; + g_mouseButtonDown = true; - win->GtkHScroll( adjust->value, - GET_SCROLL_TYPE(GTK_SCROLLED_WINDOW(win->m_widget)->hscrollbar) ); + return FALSE; } } +#ifdef __WXGTK20__ //----------------------------------------------------------------------------- -// "button_press_event" from scrollbar +// "event_after" from scrollbar //----------------------------------------------------------------------------- extern "C" { -static gint gtk_scrollbar_button_press_callback( GtkRange *widget, - GdkEventButton *gdk_event, - wxWindowGTK *win) +static void +gtk_scrollbar_event_after(GtkRange* range, GdkEvent* event, wxWindow* win) { - if (g_isIdle) - wxapp_install_idle_handler(); - - g_blockEventsOnScroll = TRUE; - - // FIXME: there is no slider field any more, what was meant here? -#ifndef __WXGTK20__ - win->m_isScrolling = (gdk_event->window == widget->slider); -#endif + if (event->type == GDK_BUTTON_RELEASE) + { + g_signal_handlers_block_by_func(range, (void*)gtk_scrollbar_event_after, win); - return FALSE; + GtkAdjustment* adj = range->adjustment; + wxASSERT(adj == win->m_hAdjust || adj == win->m_vAdjust); + const int orient = adj == win->m_hAdjust ? wxHORIZONTAL : wxVERTICAL; + wxScrollWinEvent event(wxEVT_SCROLLWIN_THUMBRELEASE, win->GetScrollPos(orient), orient); + event.SetEventObject(win); + win->GetEventHandler()->ProcessEvent(event); + } } } +#endif // __WXGTK20__ //----------------------------------------------------------------------------- // "button_release_event" from scrollbar @@ -141,38 +136,24 @@ GdkEventButton *WXUNUSED(gdk_event), wxWindowGTK *win) { -// don't test here as we can release the mouse while being over -// a different window than the slider -// -// if (gdk_event->window != widget->slider) return FALSE; - g_blockEventsOnScroll = FALSE; + g_mouseButtonDown = false; if (win->m_isScrolling) { - wxEventType command = wxEVT_SCROLLWIN_THUMBRELEASE; - int value = -1; - int dir = -1; - - GtkScrolledWindow *scrolledWindow = GTK_SCROLLED_WINDOW(win->m_widget); - if (widget == GTK_RANGE(scrolledWindow->hscrollbar)) - { - value = (int)(win->m_hAdjust->value+0.5); - dir = wxHORIZONTAL; - } - if (widget == GTK_RANGE(scrolledWindow->vscrollbar)) - { - value = (int)(win->m_vAdjust->value+0.5); - dir = wxVERTICAL; - } - - wxScrollWinEvent event( command, value, dir ); - event.SetEventObject( win ); - win->GetEventHandler()->ProcessEvent( event ); + win->m_isScrolling = false; +#ifdef __WXGTK20__ + g_signal_handlers_unblock_by_func(widget, (void*)gtk_scrollbar_event_after, win); +#else + GtkAdjustment* adj = widget->adjustment; + wxASSERT(adj == win->m_hAdjust || adj == win->m_vAdjust); + const int orient = adj == win->m_hAdjust ? wxHORIZONTAL : wxVERTICAL; + wxScrollWinEvent event(wxEVT_SCROLLWIN_THUMBRELEASE, win->GetScrollPos(orient), orient); + event.SetEventObject(win); + win->GetEventHandler()->ProcessEvent(event); +#endif } - win->m_isScrolling = FALSE; - return FALSE; } } @@ -282,17 +263,19 @@ m_vAdjust->value = 0.0; m_vAdjust->step_increment = 1.0; m_vAdjust->page_increment = 2.0; - gtk_signal_emit_by_name( GTK_OBJECT(m_vAdjust), "changed" ); + gtk_adjustment_changed(m_vAdjust); m_hAdjust->lower = 0.0; m_hAdjust->upper = 1.0; m_hAdjust->value = 0.0; m_hAdjust->step_increment = 1.0; m_hAdjust->page_increment = 2.0; - gtk_signal_emit_by_name( GTK_OBJECT(m_hAdjust), "changed" ); + gtk_adjustment_changed(m_hAdjust); // Handlers for new scrollbar values - GtkVConnectEvent(); - GtkHConnectEvent(); + gtk_signal_connect( GTK_OBJECT(m_vAdjust), "value_changed", + (GtkSignalFunc) gtk_scrolled_window_scroll_callback, (gpointer) this ); + gtk_signal_connect( GTK_OBJECT(m_hAdjust), "value_changed", + (GtkSignalFunc) gtk_scrolled_window_scroll_callback, (gpointer) this ); // these handlers block mouse events to any window during scrolling such as // motion events and prevent GTK and wxWidgets from fighting over where the @@ -310,6 +293,16 @@ gtk_signal_connect( GTK_OBJECT(scrolledWindow->hscrollbar), "button_release_event", (GtkSignalFunc)gtk_scrollbar_button_release_callback, (gpointer) this ); +#ifdef __WXGTK20__ + gulong handler_id; + handler_id = g_signal_connect( + scrolledWindow->vscrollbar, "event_after", G_CALLBACK(gtk_scrollbar_event_after), this); + g_signal_handler_block(scrolledWindow->vscrollbar, handler_id); + handler_id = g_signal_connect( + scrolledWindow->hscrollbar, "event_after", G_CALLBACK(gtk_scrollbar_event_after), this); + g_signal_handler_block(scrolledWindow->hscrollbar, handler_id); +#endif + gtk_widget_show( m_wxwindow ); if (m_parent) @@ -358,6 +351,7 @@ { wxSize best; + bool addClientSizeDiff = true; if ( GetSizer() ) { wxSize b = GetSizer()->GetMinSize(); @@ -372,7 +366,14 @@ if ( GetMinSize().IsFullySpecified() ) minSize = GetMinSize(); else + { minSize = GetSize(); + + // If we're using the overall size, we don't want to then + // add to it, or we'll successively grow the window over + // multiple layouts. + addClientSizeDiff = false; + } if (ppuX > 0) b.x = minSize.x; @@ -383,10 +384,13 @@ else return wxWindow::DoGetBestSize(); - // Add any difference between size and client size - wxSize diff = GetSize() - GetClientSize(); - best.x += wxMax(0, diff.x); - best.y += wxMax(0, diff.y); + if (addClientSizeDiff) + { + // Add any difference between size and client size + wxSize diff = GetSize() - GetClientSize(); + best.x += wxMax(0, diff.x); + best.y += wxMax(0, diff.y); + } return best; } @@ -420,6 +424,14 @@ m_targetWindow->SetVirtualSize( w ? w : wxDefaultCoord, h ? h : wxDefaultCoord); + // If the target is not the same as the window with the scrollbars, + // then we need to update the scrollbars here, since they won't have + // been updated by SetVirtualSize(). + if (m_targetWindow != this) + { + AdjustScrollbars(); + } + if (!noRefresh) { int new_x = m_xScrollPixelsPerLine * m_xScrollPosition; @@ -437,73 +449,40 @@ m_targetWindow->GetClientSize( &w, &h ); m_targetWindow->GetVirtualSize( &vw, &vh ); - if (m_xScrollPixelsPerLine == 0) - { - m_hAdjust->upper = 1.0; - m_hAdjust->page_increment = 1.0; - m_hAdjust->page_size = 1.0; - } - else - { - m_hAdjust->upper = (vw+m_xScrollPixelsPerLine-1) / m_xScrollPixelsPerLine; - m_hAdjust->page_size = w / m_xScrollPixelsPerLine; - m_hAdjust->page_increment = w / m_xScrollPixelsPerLine; - - // Special case. When client and virtual size are very close but - // the client is big enough, kill scrollbar. - - if ((m_hAdjust->page_size < m_hAdjust->upper) && (w >= vw)) - m_hAdjust->page_size += 1.0; - - // If the scrollbar hits the right side, move the window - // right to keep it from over extending. - - if ((m_hAdjust->value != 0.0) && (m_hAdjust->value + m_hAdjust->page_size > m_hAdjust->upper)) - { - m_hAdjust->value = m_hAdjust->upper - m_hAdjust->page_size; - if (m_hAdjust->value < 0.0) - m_hAdjust->value = 0.0; - - if (GetChildren().GetCount() == 0) - m_xScrollPosition = (int)m_hAdjust->value; // This is enough without child windows - else - gtk_signal_emit_by_name( GTK_OBJECT(m_hAdjust), "value_changed" ); // Actually scroll window - } - } - - if (m_yScrollPixelsPerLine == 0) - { - m_vAdjust->upper = 1.0; - m_vAdjust->page_increment = 1.0; - m_vAdjust->page_size = 1.0; - } - else - { - m_vAdjust->upper = (vh+m_yScrollPixelsPerLine-1) / m_yScrollPixelsPerLine; - m_vAdjust->page_size = h / m_yScrollPixelsPerLine; - m_vAdjust->page_increment = h / m_yScrollPixelsPerLine; - - if ((m_vAdjust->page_size < m_vAdjust->upper) && (h >= vh)) - m_vAdjust->page_size += 1.0; - - if ((m_vAdjust->value != 0.0) && (m_vAdjust->value + m_vAdjust->page_size > m_vAdjust->upper)) - { - m_vAdjust->value = m_vAdjust->upper - m_vAdjust->page_size; - if (m_vAdjust->value < 0.0) - m_vAdjust->value = 0.0; - - if (GetChildren().GetCount() == 0) - m_yScrollPosition = (int)m_vAdjust->value; - else - gtk_signal_emit_by_name( GTK_OBJECT(m_vAdjust), "value_changed" ); - } - } - - m_xScrollLinesPerPage = (int)(m_hAdjust->page_increment + 0.5); - m_yScrollLinesPerPage = (int)(m_vAdjust->page_increment + 0.5); + DoAdjustScrollbars(m_hAdjust, m_xScrollPixelsPerLine, w, vw, &m_xScrollLinesPerPage); + DoAdjustScrollbars(m_vAdjust, m_yScrollPixelsPerLine, h, vh, &m_yScrollLinesPerPage); +} - gtk_signal_emit_by_name( GTK_OBJECT(m_vAdjust), "changed" ); - gtk_signal_emit_by_name( GTK_OBJECT(m_hAdjust), "changed" ); +void wxScrolledWindow::DoAdjustScrollbars(GtkAdjustment* adj, + int pixelsPerLine, + int winSize, + int virtSize, + int *linesPerPage) +{ + int upper = 1; + int page_size = 1; + if (pixelsPerLine > 0 && winSize < virtSize) + { + upper = (virtSize + pixelsPerLine - 1) / pixelsPerLine; + page_size = winSize / pixelsPerLine; + } + + *linesPerPage = page_size; + + adj->step_increment = 1; + adj->page_increment = + adj->page_size = page_size; + adj->lower = 0; + adj->upper = upper; + + const double value = adj->value; + if (adj->value > adj->upper - adj->page_size) + adj->value = adj->upper - adj->page_size; + if (adj->value < 0) + adj->value = 0; + if (!wxIsSameDouble(value, adj->value)) + gtk_adjustment_value_changed(adj); + gtk_adjustment_changed(adj); } @@ -580,33 +559,17 @@ if (orient == wxHORIZONTAL) { - int newPos = m_xScrollPosition + nScrollInc; - SetScrollPos(wxHORIZONTAL, newPos, TRUE ); - } - else - { - int newPos = m_yScrollPosition + nScrollInc; - SetScrollPos(wxVERTICAL, newPos, TRUE ); - } - - if (orient == wxHORIZONTAL) - { m_xScrollPosition += nScrollInc; - } - else - { - m_yScrollPosition += nScrollInc; - } - - if (orient == wxHORIZONTAL) - { - if (m_xScrollingEnabled) + SetScrollPos(wxHORIZONTAL, m_xScrollPosition); + if (m_xScrollingEnabled) m_targetWindow->ScrollWindow(-m_xScrollPixelsPerLine * nScrollInc, 0, (const wxRect *) NULL); - else + else m_targetWindow->Refresh(); } else { + m_yScrollPosition += nScrollInc; + SetScrollPos(wxVERTICAL, m_yScrollPosition); if (m_yScrollingEnabled) m_targetWindow->ScrollWindow(0, -m_yScrollPixelsPerLine * nScrollInc, (const wxRect *) NULL); else @@ -618,86 +581,24 @@ { wxASSERT_MSG( m_targetWindow != 0, _T("No target window") ); - if (((x_pos == -1) || (x_pos == m_xScrollPosition)) && - ((y_pos == -1) || (y_pos == m_yScrollPosition))) return; - - if ((x_pos != -1) && (m_xScrollPixelsPerLine)) - { - int max = (int)(m_hAdjust->upper - m_hAdjust->page_size + 0.5); - if (max < 0) max = 0; - if (x_pos > max) x_pos = max; - if (x_pos < 0) x_pos = 0; - - int old_x = m_xScrollPosition; - m_xScrollPosition = x_pos; - m_hAdjust->value = x_pos; - - m_targetWindow->ScrollWindow( (old_x-m_xScrollPosition)*m_xScrollPixelsPerLine, 0 ); - - // Just update the scrollbar, don't send any wxWidgets event - GtkHDisconnectEvent(); - gtk_signal_emit_by_name( GTK_OBJECT(m_hAdjust), "value_changed" ); - GtkHConnectEvent(); - } - - if ((y_pos != -1) && (m_yScrollPixelsPerLine)) - { - int max = (int)(m_vAdjust->upper - m_vAdjust->page_size + 0.5); - if (max < 0) max = 0; - if (y_pos > max) y_pos = max; - if (y_pos < 0) y_pos = 0; - - int old_y = m_yScrollPosition; - m_yScrollPosition = y_pos; - m_vAdjust->value = y_pos; - - m_targetWindow->ScrollWindow( 0, (old_y-m_yScrollPosition)*m_yScrollPixelsPerLine ); - - // Just update the scrollbar, don't send any wxWidgets event - GtkVDisconnectEvent(); - gtk_signal_emit_by_name( GTK_OBJECT(m_vAdjust), "value_changed" ); - GtkVConnectEvent(); - } -} - -// TODO: [VH]Scroll functions should be combined - -void wxScrolledWindow::GtkVScroll( float value, unsigned int scroll_type ) -{ - wxASSERT_MSG( m_targetWindow != 0, _T("No target window") ); - - if (m_yScrollPixelsPerLine == 0) - return; - - int y_pos = (int)(value+0.5); - - if (y_pos == m_yScrollPosition) - return; - - wxEventType command = GtkScrollWinTypeToWx(scroll_type); - - wxScrollWinEvent event( command, y_pos, wxVERTICAL ); - event.SetEventObject( this ); - GetEventHandler()->ProcessEvent( event ); + DoScroll(wxHORIZONTAL, x_pos, &m_xScrollPosition, m_xScrollPixelsPerLine); + DoScroll(wxVERTICAL, y_pos, &m_yScrollPosition, m_yScrollPixelsPerLine); } -void wxScrolledWindow::GtkHScroll( float value, unsigned int scroll_type ) +void wxScrolledWindow::DoScroll(int orient, int pos, int* posOld, int pixelsPerLine) { - wxASSERT_MSG( m_targetWindow != 0, _T("No target window") ); - - if (m_xScrollPixelsPerLine == 0) - return; - - int x_pos = (int)(value+0.5); - - if (x_pos == m_xScrollPosition) - return; + if (pos != -1 && pos != *posOld && pixelsPerLine > 0) + { + SetScrollPos(orient, pos); + pos = GetScrollPos(orient); - wxEventType command = GtkScrollWinTypeToWx(scroll_type); + const int diff = (*posOld - pos) * pixelsPerLine; + m_targetWindow->ScrollWindow( + orient == wxHORIZONTAL ? diff : 0, + orient == wxHORIZONTAL ? 0 : diff); - wxScrollWinEvent event( command, x_pos, wxHORIZONTAL ); - event.SetEventObject( this ); - GetEventHandler()->ProcessEvent( event ); + *posOld = pos; + } } void wxScrolledWindow::EnableScrolling (bool x_scroll, bool y_scroll) @@ -824,74 +725,7 @@ void wxScrolledWindow::SetScrollPos( int orient, int pos, bool refresh ) { - wxCHECK_RET( m_widget != NULL, wxT("invalid window") ); - - wxCHECK_RET( m_wxwindow != NULL, wxT("window needs client area for scrolling") ); - - if (orient == wxHORIZONTAL) - { - int max = (int)(m_hAdjust->upper - m_hAdjust->page_size + 0.5); - if (max < 0) max = 0; - - if (pos > max) pos = 0; - if (pos < 0) pos = 0; - - if (pos == (int)(m_hAdjust->value+0.5)) return; - m_hAdjust->value = pos; - } - else - { - int max = (int)(m_vAdjust->upper - m_vAdjust->page_size + 0.5); - if (max < 0) max = 0; - - if (pos > max) pos = 0; - if (pos < 0) pos = 0; - - if (pos == (int)(m_vAdjust->value+0.5)) return; - m_vAdjust->value = pos; - } - - if (m_wxwindow->window) - { - if (orient == wxHORIZONTAL) - { - // Just update the scrollbar, don't send any wxWidgets event - GtkHDisconnectEvent(); - gtk_signal_emit_by_name( GTK_OBJECT(m_hAdjust), "value_changed" ); - GtkHConnectEvent(); - } - else - { - // Just update the scrollbar, don't send any wxWidgets event - GtkVDisconnectEvent(); - gtk_signal_emit_by_name( GTK_OBJECT(m_vAdjust), "value_changed" ); - GtkVConnectEvent(); - } - } -} - -void wxScrolledWindow::GtkVConnectEvent() -{ - gtk_signal_connect( GTK_OBJECT(m_vAdjust), "value_changed", - (GtkSignalFunc) gtk_scrolled_window_vscroll_callback, (gpointer) this ); -} - -void wxScrolledWindow::GtkHConnectEvent() -{ - gtk_signal_connect( GTK_OBJECT(m_hAdjust), "value_changed", - (GtkSignalFunc) gtk_scrolled_window_hscroll_callback, (gpointer) this ); -} - -void wxScrolledWindow::GtkHDisconnectEvent() -{ - gtk_signal_disconnect_by_func( GTK_OBJECT(m_hAdjust), - (GtkSignalFunc) gtk_scrolled_window_hscroll_callback, (gpointer) this ); -} - -void wxScrolledWindow::GtkVDisconnectEvent() -{ - gtk_signal_disconnect_by_func( GTK_OBJECT(m_vAdjust), - (GtkSignalFunc) gtk_scrolled_window_vscroll_callback, (gpointer) this ); + wxPanel::SetScrollPos(orient, pos, refresh); } bool wxScrolledWindow::Layout() diff -ur wxWidgets-2.6.3/src/gtk/textctrl.cpp wxWidgets-2.6.3.3/src/gtk/textctrl.cpp --- wxWidgets-2.6.3/src/gtk/textctrl.cpp 2005-08-08 04:53:44.000000000 -0400 +++ wxWidgets-2.6.3.3/src/gtk/textctrl.cpp 2006-07-14 00:21:47.000000000 -0400 @@ -2,7 +2,7 @@ // Name: textctrl.cpp // Purpose: // Author: Robert Roebling -// Id: $Id: textctrl.cpp,v 1.217 2005/08/08 08:53:44 MR Exp $ +// Id: $Id: textctrl.cpp,v 1.217.2.3 2006/07/14 04:21:47 MR Exp $ // Copyright: (c) 1998 Robert Roebling, Vadim Zeitlin // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -96,6 +96,19 @@ NULL ); gtk_text_buffer_apply_tag (text_buffer, tag, start, end); g_free (font_string); + + if (attr.GetFont().GetUnderlined()) + { + g_snprintf(buf, sizeof(buf), "WXFONTUNDERLINE"); + tag = gtk_text_tag_table_lookup( gtk_text_buffer_get_tag_table( text_buffer ), + buf ); + if (!tag) + tag = gtk_text_buffer_create_tag( text_buffer, buf, + "underline-set", TRUE, + "underline", PANGO_UNDERLINE_SINGLE, + NULL ); + gtk_text_buffer_apply_tag (text_buffer, tag, start, end); + } } if (attr.HasTextColour()) @@ -1158,12 +1171,16 @@ { #ifdef __WXGTK20__ GtkTextIter iter; - gtk_text_buffer_get_iter_at_offset(m_buffer, &iter, pos); - if (gtk_text_iter_is_end(&iter)) + + if (pos > GetLastPosition()) return false; - *y = gtk_text_iter_get_line(&iter); - *x = gtk_text_iter_get_line_offset(&iter); + gtk_text_buffer_get_iter_at_offset(m_buffer, &iter, pos); + + if ( y ) + *y = gtk_text_iter_get_line(&iter); + if ( x ) + *x = gtk_text_iter_get_line_offset(&iter); #else wxString text = GetValue(); @@ -1191,8 +1208,10 @@ { if ( pos <= GTK_ENTRY(m_text)->text_length ) { - *y = 0; - *x = pos; + if ( y ) + *y = 0; + if ( x ) + *x = pos; } else { diff -ur wxWidgets-2.6.3/src/gtk/window.cpp wxWidgets-2.6.3.3/src/gtk/window.cpp --- wxWidgets-2.6.3/src/gtk/window.cpp 2006-03-18 16:58:19.000000000 -0500 +++ wxWidgets-2.6.3.3/src/gtk/window.cpp 2006-06-13 14:52:28.000000000 -0400 @@ -2,7 +2,7 @@ // Name: gtk/window.cpp // Purpose: // Author: Robert Roebling -// Id: $Id: window.cpp,v 1.548.2.13 2006/03/18 21:58:19 VZ Exp $ +// Id: $Id: window.cpp,v 1.548.2.20 2006/06/13 18:52:28 RD Exp $ // Copyright: (c) 1998 Robert Roebling, Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -248,6 +248,9 @@ extern bool g_mainThreadLocked; +bool g_mouseButtonDown; +bool gs_blockValueChanged; + //----------------------------------------------------------------------------- // debug //----------------------------------------------------------------------------- @@ -710,6 +713,18 @@ // "key_press_event" from any window //----------------------------------------------------------------------------- +// These are used when transforming Ctrl-alpha to ascii values 1-26 +inline bool wxIsLowerChar(int code) +{ + return (code >= 'a' && code <= 'z' ); +} + +inline bool wxIsUpperChar(int code) +{ + return (code >= 'A' && code <= 'Z' ); +} + + // set WXTRACE to this to see the key event codes on the console #define TRACE_KEYS _T("keyevent") @@ -1014,9 +1029,6 @@ event.m_scanCode = gdk_event->keyval; event.m_rawCode = (wxUint32) gdk_event->keyval; event.m_rawFlags = 0; -#if wxUSE_UNICODE - event.m_uniChar = gdk_keyval_to_unicode(gdk_event->keyval); -#endif wxGetMousePosition( &x, &y ); win->ScreenToClient( &x, &y ); event.m_x = x; @@ -1324,13 +1336,17 @@ // To conform to the docs we need to translate Ctrl-alpha // characters to values in the range 1-26. - if (event.ControlDown() && key_code >= 'a' && key_code <= 'z' ) + if ( event.ControlDown() && + ( wxIsLowerChar(key_code) || wxIsUpperChar(key_code) )) { - event.m_keyCode = key_code - 'a' + 1; + if ( wxIsLowerChar(key_code) ) + event.m_keyCode = key_code - 'a' + 1; + if ( wxIsUpperChar(key_code) ) + event.m_keyCode = key_code - 'A' + 1; #if wxUSE_UNICODE event.m_uniChar = event.m_keyCode; #endif - } + } // Implement OnCharHook by checking ancesteror top level windows wxWindow *parent = win; @@ -1470,8 +1486,14 @@ // To conform to the docs we need to translate Ctrl-alpha // characters to values in the range 1-26. - if (event.ControlDown() && *pstr >= 'a' && *pstr <= 'z' ) + if ( event.ControlDown() && + ( wxIsLowerChar(*pstr) || wxIsUpperChar(*pstr) )) { + if ( wxIsLowerChar(*pstr) ) + event.m_keyCode = *pstr - 'a' + 1; + if ( wxIsUpperChar(*pstr) ) + event.m_keyCode = *pstr - 'A' + 1; + event.m_keyCode = *pstr - 'a' + 1; #if wxUSE_UNICODE event.m_uniChar = event.m_keyCode; @@ -1831,6 +1853,10 @@ if ( !g_captureWindow ) win = FindWindowForMouseEvent(win, event.m_x, event.m_y); + // reset the event object and id in case win changed. + event.SetEventObject( win ); + event.SetId( win->GetId() ); + gs_timeLastClick = gdk_event->time; #ifndef __WXGTK20__ @@ -1926,6 +1952,10 @@ if ( !g_captureWindow ) win = FindWindowForMouseEvent(win, event.m_x, event.m_y); + // reset the event object and id in case win changed. + event.SetEventObject( win ); + event.SetId( win->GetId() ); + if (win->GetEventHandler()->ProcessEvent( event )) { gtk_signal_emit_stop_by_name( GTK_OBJECT(widget), "button_release_event" ); @@ -2000,6 +2030,10 @@ else // no capture { win = FindWindowForMouseEvent(win, event.m_x, event.m_y); + + // reset the event object and id in case win changed. + event.SetEventObject( win ); + event.SetId( win->GetId() ); } if ( !g_captureWindow ) @@ -2344,11 +2378,11 @@ } //----------------------------------------------------------------------------- -// "value_changed" from m_vAdjust +// "value_changed" from m_[hv]Adjust //----------------------------------------------------------------------------- extern "C" { -static void gtk_window_vscroll_callback( GtkAdjustment *adjust, +static void gtk_window_scroll_callback( GtkAdjustment *adjust, SCROLLBAR_CBACK_ARG wxWindowGTK *win ) { @@ -2357,88 +2391,54 @@ if (g_isIdle) wxapp_install_idle_handler(); - if (g_blockEventsOnDrag) return; - - if (!win->m_hasVMT) return; - - float diff = adjust->value - win->m_oldVerticalPos; - if (fabs(diff) < 0.2) return; - - win->m_oldVerticalPos = adjust->value; - -#ifndef __WXGTK20__ - GtkScrolledWindow *sw = GTK_SCROLLED_WINDOW(win->m_widget); -#endif - wxEventType command = GtkScrollWinTypeToWx(GET_SCROLL_TYPE(sw->vscrollbar)); - - int value = (int)(adjust->value+0.5); - - wxScrollWinEvent event( command, value, wxVERTICAL ); - event.SetEventObject( win ); - win->GetEventHandler()->ProcessEvent( event ); + win->HandleScrollEvent(adjust); } } //----------------------------------------------------------------------------- -// "value_changed" from m_hAdjust +// "button_press_event" from scrollbar //----------------------------------------------------------------------------- extern "C" { -static void gtk_window_hscroll_callback( GtkAdjustment *adjust, - SCROLLBAR_CBACK_ARG - wxWindowGTK *win ) +static gint gtk_scrollbar_button_press_callback( GtkRange *widget, + GdkEventButton *gdk_event, + wxWindowGTK *win) { DEBUG_MAIN_THREAD if (g_isIdle) wxapp_install_idle_handler(); - if (g_blockEventsOnDrag) return; - if (!win->m_hasVMT) return; - - float diff = adjust->value - win->m_oldHorizontalPos; - if (fabs(diff) < 0.2) return; - -#ifndef __WXGTK20__ - GtkScrolledWindow *sw = GTK_SCROLLED_WINDOW(win->m_widget); -#endif - wxEventType command = GtkScrollWinTypeToWx(GET_SCROLL_TYPE(sw->hscrollbar)); - - win->m_oldHorizontalPos = adjust->value; - - int value = (int)(adjust->value+0.5); + g_blockEventsOnScroll = true; + g_mouseButtonDown = true; - wxScrollWinEvent event( command, value, wxHORIZONTAL ); - event.SetEventObject( win ); - win->GetEventHandler()->ProcessEvent( event ); + return FALSE; } } +#ifdef __WXGTK20__ //----------------------------------------------------------------------------- -// "button_press_event" from scrollbar +// "event_after" from scrollbar //----------------------------------------------------------------------------- extern "C" { -static gint gtk_scrollbar_button_press_callback( GtkRange *widget, - GdkEventButton *gdk_event, - wxWindowGTK *win) +static void +gtk_scrollbar_event_after(GtkRange* range, GdkEvent* event, wxWindow* win) { - DEBUG_MAIN_THREAD - - if (g_isIdle) - wxapp_install_idle_handler(); - - - g_blockEventsOnScroll = true; - - // FIXME: there is no 'slider' field in GTK+ 2.0 any more -#ifndef __WXGTK20__ - win->m_isScrolling = (gdk_event->window == widget->slider); -#endif + if (event->type == GDK_BUTTON_RELEASE) + { + g_signal_handlers_block_by_func(range, (void*)gtk_scrollbar_event_after, win); - return FALSE; + GtkAdjustment* adj = range->adjustment; + wxASSERT(adj == win->m_hAdjust || adj == win->m_vAdjust); + const int orient = adj == win->m_hAdjust ? wxHORIZONTAL : wxVERTICAL; + wxScrollWinEvent event(wxEVT_SCROLLWIN_THUMBRELEASE, win->GetScrollPos(orient), orient); + event.SetEventObject(win); + win->GetEventHandler()->ProcessEvent(event); + } } } +#endif // __WXGTK20__ //----------------------------------------------------------------------------- // "button_release_event" from scrollbar @@ -2451,38 +2451,24 @@ { DEBUG_MAIN_THREAD -// don't test here as we can release the mouse while being over -// a different window than the slider -// -// if (gdk_event->window != widget->slider) return FALSE; - g_blockEventsOnScroll = false; + g_mouseButtonDown = false; if (win->m_isScrolling) { - wxEventType command = wxEVT_SCROLLWIN_THUMBRELEASE; - int value = -1; - int dir = -1; - - GtkScrolledWindow *scrolledWindow = GTK_SCROLLED_WINDOW(win->m_widget); - if (widget == GTK_RANGE(scrolledWindow->hscrollbar)) - { - value = (int)(win->m_hAdjust->value+0.5); - dir = wxHORIZONTAL; - } - if (widget == GTK_RANGE(scrolledWindow->vscrollbar)) - { - value = (int)(win->m_vAdjust->value+0.5); - dir = wxVERTICAL; - } - - wxScrollWinEvent event( command, value, dir ); - event.SetEventObject( win ); - win->GetEventHandler()->ProcessEvent( event ); + win->m_isScrolling = false; +#ifdef __WXGTK20__ + g_signal_handlers_unblock_by_func(widget, (void*)gtk_scrollbar_event_after, win); +#else + GtkAdjustment* adj = widget->adjustment; + wxASSERT(adj == win->m_hAdjust || adj == win->m_vAdjust); + const int orient = adj == win->m_hAdjust ? wxHORIZONTAL : wxVERTICAL; + wxScrollWinEvent event(wxEVT_SCROLLWIN_THUMBRELEASE, win->GetScrollPos(orient), orient); + event.SetEventObject(win); + win->GetEventHandler()->ProcessEvent(event); +#endif } - win->m_isScrolling = false; - return FALSE; } } @@ -2544,8 +2530,6 @@ if (g_isIdle) wxapp_install_idle_handler(); - if (!win->m_hasScrolling) return; - int client_width = 0; int client_height = 0; win->GetClientSize( &client_width, &client_height ); @@ -2904,14 +2888,14 @@ m_vAdjust->step_increment = 1.0; m_vAdjust->page_increment = 1.0; m_vAdjust->page_size = 5.0; - gtk_signal_emit_by_name( GTK_OBJECT(m_vAdjust), "changed" ); + gtk_adjustment_changed(m_vAdjust); m_hAdjust->lower = 0.0; m_hAdjust->upper = 1.0; m_hAdjust->value = 0.0; m_hAdjust->step_increment = 1.0; m_hAdjust->page_increment = 1.0; m_hAdjust->page_size = 5.0; - gtk_signal_emit_by_name( GTK_OBJECT(m_hAdjust), "changed" ); + gtk_adjustment_changed(m_hAdjust); // these handlers block mouse events to any window during scrolling such as // motion events and prevent GTK and wxWidgets from fighting over where the @@ -2929,14 +2913,24 @@ gtk_signal_connect( GTK_OBJECT(scrolledWindow->hscrollbar), "button_release_event", (GtkSignalFunc)gtk_scrollbar_button_release_callback, (gpointer) this ); +#ifdef __WXGTK20__ + gulong handler_id; + handler_id = g_signal_connect( + scrolledWindow->vscrollbar, "event_after", G_CALLBACK(gtk_scrollbar_event_after), this); + g_signal_handler_block(scrolledWindow->vscrollbar, handler_id); + handler_id = g_signal_connect( + scrolledWindow->hscrollbar, "event_after", G_CALLBACK(gtk_scrollbar_event_after), this); + g_signal_handler_block(scrolledWindow->hscrollbar, handler_id); +#endif + // these handlers get notified when screen updates are required either when // scrolling or when the window size (and therefore scrollbar configuration) // has changed gtk_signal_connect( GTK_OBJECT(m_hAdjust), "value_changed", - (GtkSignalFunc) gtk_window_hscroll_callback, (gpointer) this ); + (GtkSignalFunc) gtk_window_scroll_callback, (gpointer) this ); gtk_signal_connect( GTK_OBJECT(m_vAdjust), "value_changed", - (GtkSignalFunc) gtk_window_vscroll_callback, (gpointer) this ); + (GtkSignalFunc) gtk_window_scroll_callback, (gpointer) this ); gtk_widget_show( m_wxwindow ); @@ -4745,118 +4739,97 @@ return false; } -void wxWindowGTK::SetScrollbar( int orient, int pos, int thumbVisible, - int range, bool refresh ) +static inline bool IsScrollIncrement(double increment, double x) { - wxCHECK_RET( m_widget != NULL, wxT("invalid window") ); + wxASSERT(increment > 0); + const double tolerance = 1.0 / 1024; + return fabs(increment - fabs(x)) < tolerance; +} - wxCHECK_RET( m_wxwindow != NULL, wxT("window needs client area for scrolling") ); +void wxWindowGTK::HandleScrollEvent(GtkAdjustment* adj) +{ + wxASSERT(adj == m_hAdjust || adj == m_vAdjust); + float* oldPos = adj == m_hAdjust ? &m_oldHorizontalPos : &m_oldVerticalPos; + const double posPrev = *oldPos; + *oldPos = float(adj->value); + const int pos = int(adj->value + 0.5); - m_hasScrolling = true; + if (g_blockEventsOnDrag || !m_hasVMT || pos == int(posPrev + 0.5)) + return; - if (orient == wxHORIZONTAL) + wxEventType eventType = wxEVT_SCROLLWIN_THUMBTRACK; + if (!m_isScrolling) { - float fpos = (float)pos; - float frange = (float)range; - float fthumb = (float)thumbVisible; - if (fpos > frange-fthumb) fpos = frange-fthumb; - if (fpos < 0.0) fpos = 0.0; + // Difference from last change event + const double diff = adj->value - posPrev; + const bool isDown = diff > 0; - if ((fabs(frange-m_hAdjust->upper) < 0.2) && - (fabs(fthumb-m_hAdjust->page_size) < 0.2)) + if (IsScrollIncrement(adj->step_increment, diff)) { - SetScrollPos( orient, pos, refresh ); - return; + eventType = isDown ? wxEVT_SCROLLWIN_LINEDOWN : wxEVT_SCROLLWIN_LINEUP; } - - m_oldHorizontalPos = fpos; - - m_hAdjust->lower = 0.0; - m_hAdjust->upper = frange; - m_hAdjust->value = fpos; - m_hAdjust->step_increment = 1.0; - m_hAdjust->page_increment = (float)(wxMax(fthumb,0)); - m_hAdjust->page_size = fthumb; - } - else - { - float fpos = (float)pos; - float frange = (float)range; - float fthumb = (float)thumbVisible; - if (fpos > frange-fthumb) fpos = frange-fthumb; - if (fpos < 0.0) fpos = 0.0; - - if ((fabs(frange-m_vAdjust->upper) < 0.2) && - (fabs(fthumb-m_vAdjust->page_size) < 0.2)) + else if (IsScrollIncrement(adj->page_increment, diff)) { - SetScrollPos( orient, pos, refresh ); - return; + eventType = isDown ? wxEVT_SCROLLWIN_PAGEDOWN : wxEVT_SCROLLWIN_PAGEUP; + } + else if (g_mouseButtonDown) + { + // Assume track event + m_isScrolling = true; } - - m_oldVerticalPos = fpos; - - m_vAdjust->lower = 0.0; - m_vAdjust->upper = frange; - m_vAdjust->value = fpos; - m_vAdjust->step_increment = 1.0; - m_vAdjust->page_increment = (float)(wxMax(fthumb,0)); - m_vAdjust->page_size = fthumb; } - - if (orient == wxHORIZONTAL) - gtk_signal_emit_by_name( GTK_OBJECT(m_hAdjust), "changed" ); - else - gtk_signal_emit_by_name( GTK_OBJECT(m_vAdjust), "changed" ); + const int orient = adj == m_hAdjust ? wxHORIZONTAL : wxVERTICAL; + wxScrollWinEvent event(eventType, pos, orient); + event.SetEventObject(this); + gs_blockValueChanged = true; + GetEventHandler()->ProcessEvent(event); + gs_blockValueChanged = false; } -void wxWindowGTK::SetScrollPos( int orient, int pos, bool WXUNUSED(refresh) ) +void wxWindowGTK::SetScrollbar( int orient, int pos, int thumbVisible, + int range, bool refresh ) { wxCHECK_RET( m_widget != NULL, wxT("invalid window") ); wxCHECK_RET( m_wxwindow != NULL, wxT("window needs client area for scrolling") ); - if (orient == wxHORIZONTAL) - { - float fpos = (float)pos; - if (fpos > m_hAdjust->upper - m_hAdjust->page_size) fpos = m_hAdjust->upper - m_hAdjust->page_size; - if (fpos < 0.0) fpos = 0.0; - m_oldHorizontalPos = fpos; + m_hasScrolling = true; - if (fabs(fpos-m_hAdjust->value) < 0.2) return; - m_hAdjust->value = fpos; - } - else - { - float fpos = (float)pos; - if (fpos > m_vAdjust->upper - m_vAdjust->page_size) fpos = m_vAdjust->upper - m_vAdjust->page_size; - if (fpos < 0.0) fpos = 0.0; - m_oldVerticalPos = fpos; + if (pos > range - thumbVisible) + pos = range - thumbVisible; + if (pos < 0) + pos = 0; + GtkAdjustment* adj = orient == wxHORIZONTAL ? m_hAdjust : m_vAdjust; + adj->step_increment = 1; + adj->page_increment = + adj->page_size = thumbVisible; + adj->upper = range; + SetScrollPos(orient, pos); + gtk_adjustment_changed(adj); +} - if (fabs(fpos-m_vAdjust->value) < 0.2) return; - m_vAdjust->value = fpos; - } +void wxWindowGTK::SetScrollPos( int orient, int pos, bool WXUNUSED(refresh) ) +{ + wxCHECK_RET( m_widget != NULL, wxT("invalid window") ); - if (m_wxwindow->window) - { - if (orient == wxHORIZONTAL) - { - gtk_signal_disconnect_by_func( GTK_OBJECT(m_hAdjust), - (GtkSignalFunc) gtk_window_hscroll_callback, (gpointer) this ); + wxCHECK_RET( m_wxwindow != NULL, wxT("window needs client area for scrolling") ); - gtk_signal_emit_by_name( GTK_OBJECT(m_hAdjust), "value_changed" ); + if (GetScrollPos(orient) != pos) + { + GtkAdjustment* adj = orient == wxHORIZONTAL ? m_hAdjust : m_vAdjust; + const int max = int(adj->upper - adj->page_size); + if (pos > max) + pos = max; + if (pos < 0) + pos = 0; + float* oldPos = orient == wxHORIZONTAL ? &m_oldHorizontalPos : &m_oldVerticalPos; + *oldPos = pos; + adj->value = pos; - gtk_signal_connect( GTK_OBJECT(m_hAdjust), "value_changed", - (GtkSignalFunc) gtk_window_hscroll_callback, (gpointer) this ); - } - else + // If a "value_changed" signal emission is not already in progress + if (!gs_blockValueChanged) { - gtk_signal_disconnect_by_func( GTK_OBJECT(m_vAdjust), - (GtkSignalFunc) gtk_window_vscroll_callback, (gpointer) this ); - - gtk_signal_emit_by_name( GTK_OBJECT(m_vAdjust), "value_changed" ); - - gtk_signal_connect( GTK_OBJECT(m_vAdjust), "value_changed", - (GtkSignalFunc) gtk_window_vscroll_callback, (gpointer) this ); + gtk_adjustment_value_changed(adj); } } } diff -ur wxWidgets-2.6.3/src/mac/corefoundation/cfstring.cpp wxWidgets-2.6.3.3/src/mac/corefoundation/cfstring.cpp --- wxWidgets-2.6.3/src/mac/corefoundation/cfstring.cpp 2005-06-08 19:31:13.000000000 -0400 +++ wxWidgets-2.6.3.3/src/mac/corefoundation/cfstring.cpp 2006-06-11 02:32:45.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Stefan Csomor // Modified by: // Created: 2004-10-29 (from code in src/mac/carbon/utils.cpp) -// RCS-ID: $Id: cfstring.cpp,v 1.4 2005/06/08 23:31:13 SC Exp $ +// RCS-ID: $Id: cfstring.cpp,v 1.4.2.1 2006/06/11 06:32:45 SC Exp $ // Copyright: (c) Stefan Csomor // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -666,6 +666,9 @@ wxString wxMacCFStringHolder::AsString(wxFontEncoding encoding) { + if ( m_cfs == NULL ) + return wxEmptyString ; + Size cflen = CFStringGetLength( m_cfs ) ; size_t noChars ; wxChar* buf = NULL ; diff -ur wxWidgets-2.6.3/src/mac/corefoundation/utilsexc_cf.cpp wxWidgets-2.6.3.3/src/mac/corefoundation/utilsexc_cf.cpp --- wxWidgets-2.6.3/src/mac/corefoundation/utilsexc_cf.cpp 2005-04-22 11:19:11.000000000 -0400 +++ wxWidgets-2.6.3.3/src/mac/corefoundation/utilsexc_cf.cpp 2006-06-08 05:09:59.000000000 -0400 @@ -4,7 +4,7 @@ // Author: David Elliott, Ryan Norton (wxMacExecute) // Modified by: Stefan Csomor (added necessary wxT for unicode builds) // Created: 2004-11-04 -// RCS-ID: $Id: utilsexc_cf.cpp,v 1.7 2005/04/22 15:19:11 RN Exp $ +// RCS-ID: $Id: utilsexc_cf.cpp,v 1.7.2.1 2006/06/08 09:09:59 JS Exp $ // Copyright: (c) David Elliott, Ryan Norton // Licence: wxWindows licence // Notes: This code comes from src/mac/carbon/utilsexc.cpp,1.11 @@ -18,8 +18,104 @@ #include "wx/unix/execute.h" #include "wx/stdpaths.h" #include "wx/apptrait.h" +#include "wx/process.h" +// Use polling instead of Mach ports, which doesn't work on Intel +// due to task_for_pid security issues. +// What's a better test for Intel vs PPC? +#ifdef WORDS_BIGENDIAN +#define USE_POLLING 0 +#else +#define USE_POLLING 1 +#endif + +#if USE_POLLING + +class wxProcessTerminationEventHandler: public wxEvtHandler +{ + public: + wxProcessTerminationEventHandler(wxEndProcessData* data) + { + m_data = data; + Connect(-1, wxEVT_END_PROCESS, wxProcessEventHandler(wxProcessTerminationEventHandler::OnTerminate)); + } + + void OnTerminate(wxProcessEvent& event) + { + Disconnect(-1, wxEVT_END_PROCESS, wxProcessEventHandler(wxProcessTerminationEventHandler::OnTerminate)); + wxHandleProcessTermination(m_data); + delete this; + } + + wxEndProcessData* m_data; +}; + +class wxProcessTerminationThread: public wxThread +{ + public: + wxProcessTerminationThread(wxEndProcessData* data, wxProcessTerminationEventHandler* handler): wxThread(wxTHREAD_DETACHED) + { + m_data = data; + m_handler = handler; + } + + virtual void* Entry(); + + wxProcessTerminationEventHandler* m_handler; + wxEndProcessData* m_data; +}; + +// The problem with this is that we may be examining the +// process e.g. in OnIdle at the point this cleans up the process, +// so we need to delay until it's safe. + +void* wxProcessTerminationThread::Entry() +{ + while (true) + { + usleep(100); + int status = 0; + int rc = waitpid(abs(m_data->pid), & status, WNOHANG); + if (rc != 0) + { + if ((rc != -1) && WIFEXITED(status)) + m_data->exitcode = WEXITSTATUS(status); + else + m_data->exitcode = -1; + + wxProcessEvent event; + wxPostEvent(m_handler, event); + + break; + } + } + + return NULL; +} + +int wxAddProcessCallbackForPid(wxEndProcessData *proc_data, int pid) +{ + if (pid < 1) + return -1; + + wxProcessTerminationEventHandler* handler = new wxProcessTerminationEventHandler(proc_data); + wxProcessTerminationThread* thread = new wxProcessTerminationThread(proc_data, handler); + + if (thread->Create() != wxTHREAD_NO_ERROR) + { + wxLogDebug(wxT("Could not create termination detection thread.")); + delete thread; + delete handler; + return -1; + } + + thread->Run(); + + return 0; +} + +#else #include #include @@ -113,6 +209,9 @@ return 0; } +#endif + // USE_POLLING + // NOTE: This doens't really belong here but this was a handy file to // put it in because it's already compiled for wxCocoa and wxMac GUI lib. static wxStandardPathsCF gs_stdPaths; diff -ur wxWidgets-2.6.3/src/unix/fontutil.cpp wxWidgets-2.6.3.3/src/unix/fontutil.cpp --- wxWidgets-2.6.3/src/unix/fontutil.cpp 2006-02-12 19:24:55.000000000 -0500 +++ wxWidgets-2.6.3.3/src/unix/fontutil.cpp 2006-04-18 18:59:06.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Vadim Zeitlin // Modified by: // Created: 05.11.99 -// RCS-ID: $Id: fontutil.cpp,v 1.62.2.1 2006/02/13 00:24:55 VZ Exp $ +// RCS-ID: $Id: fontutil.cpp,v 1.62.2.2 2006/04/18 22:59:06 VZ Exp $ // Copyright: (c) Vadim Zeitlin // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -337,8 +337,9 @@ info->encoding = wxFONTENCODING_SYSTEM; return true; + case wxFONTENCODING_ISO8859_1: case wxFONTENCODING_UTF8: - info->encoding = wxFONTENCODING_UTF8; + info->encoding = encoding; return true; default: diff -ur wxWidgets-2.6.3/src/unix/mimetype.cpp wxWidgets-2.6.3.3/src/unix/mimetype.cpp --- wxWidgets-2.6.3/src/unix/mimetype.cpp 2006-03-17 10:05:03.000000000 -0500 +++ wxWidgets-2.6.3.3/src/unix/mimetype.cpp 2006-06-18 17:38:11.000000000 -0400 @@ -4,7 +4,7 @@ // Author: Vadim Zeitlin // Modified by: // Created: 23.09.98 -// RCS-ID: $Id: mimetype.cpp,v 1.53.2.3 2006/03/17 15:05:03 RR Exp $ +// RCS-ID: $Id: mimetype.cpp,v 1.53.2.4 2006/06/18 21:38:11 VZ Exp $ // Copyright: (c) 1998 Vadim Zeitlin // Licence: wxWindows licence (part of wxExtra library) ///////////////////////////////////////////////////////////////////////////// @@ -395,7 +395,7 @@ wxLogTrace(TRACE_MIME, wxT("--- Reading from Gnome file %s '%s' ---"), filename.c_str(), pc); - + // trim trailing space and tab while ((*pc == wxT(' ')) || (*pc == wxT('\t'))) pc++; @@ -406,18 +406,18 @@ { wxString left_of_equal = sTmp.Left( equal_pos ); const wxChar *right_of_equal = pc; - right_of_equal += equal_pos+1; - + right_of_equal += equal_pos+1; + if (left_of_equal == wxT("icon_filename")) { // GNOME 2: curIconFile = right_of_equal; - + wxFileName newFile( curIconFile ); if (newFile.IsRelative() || newFile.FileExists()) { size_t nDirs = search_dirs.GetCount(); - + for (size_t nDir = 0; nDir < nDirs; nDir++) { newFile.SetPath( search_dirs[nDir] ); @@ -2641,6 +2641,8 @@ bool wxMimeTypesManagerImpl::Unassociate(wxFileType *ft) { + InitIfNeeded(); + wxArrayString sMimeTypes; ft->GetMimeTypes (sMimeTypes); diff -ur wxWidgets-2.6.3/utils/helpview/src/helpview.cpp wxWidgets-2.6.3.3/utils/helpview/src/helpview.cpp --- wxWidgets-2.6.3/utils/helpview/src/helpview.cpp 2005-05-30 05:24:08.000000000 -0400 +++ wxWidgets-2.6.3.3/utils/helpview/src/helpview.cpp 2006-03-30 06:35:12.000000000 -0500 @@ -5,7 +5,7 @@ // Author: Vaclav Slavik, Julian Smart // Modified by: // Created: 2002-07-09 -// RCS-ID: $Id: helpview.cpp,v 1.14 2005/05/30 09:24:08 ABX Exp $ +// RCS-ID: $Id: helpview.cpp,v 1.14.2.1 2006/03/30 11:35:12 JS Exp $ // Copyright: (c) 2002 Vaclav Slavik, Julian Smart and others // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -63,7 +63,7 @@ #ifdef __WXMAC__ wxApp::s_macAboutMenuItemId = wxID_ABOUT; - wxFileName::MacRegisterDefaultTypeAndCreator( "htb" , 'HTBD' , 'HTBA' ) ; + wxFileName::MacRegisterDefaultTypeAndCreator( wxT("htb") , 'HTBD' , 'HTBA' ) ; #endif int istyle = wxHF_DEFAULT_STYLE; diff -ur wxWidgets-2.6.3/utils/tex2rtf/src/tex2rtf.cpp wxWidgets-2.6.3.3/utils/tex2rtf/src/tex2rtf.cpp --- wxWidgets-2.6.3/utils/tex2rtf/src/tex2rtf.cpp 2006-01-23 10:09:03.000000000 -0500 +++ wxWidgets-2.6.3.3/utils/tex2rtf/src/tex2rtf.cpp 2006-06-13 06:36:42.000000000 -0400 @@ -5,7 +5,7 @@ // Modified by: Wlodzimiez ABX Skiba 2003/2004 Unicode support // Ron Lee // Created: 7.9.93 -// RCS-ID: $Id: tex2rtf.cpp,v 1.53.2.1 2006/01/23 15:09:03 ABX Exp $ +// RCS-ID: $Id: tex2rtf.cpp,v 1.53.2.2 2006/06/13 10:36:42 ABX Exp $ // Copyright: (c) Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -186,6 +186,8 @@ } } + TexPathList.Add(::wxGetCwd()); + #ifdef NO_GUI if (InputFile.empty() || OutputFile.empty()) { diff -ur wxWidgets-2.6.3/utils/tex2rtf/src/texutils.cpp wxWidgets-2.6.3.3/utils/tex2rtf/src/texutils.cpp --- wxWidgets-2.6.3/utils/tex2rtf/src/texutils.cpp 2006-01-26 22:08:36.000000000 -0500 +++ wxWidgets-2.6.3.3/utils/tex2rtf/src/texutils.cpp 2006-06-13 06:34:58.000000000 -0400 @@ -5,7 +5,7 @@ // Modified by: Wlodzimiez ABX Skiba 2003/2004 Unicode support // Ron Lee // Created: 7.9.93 -// RCS-ID: $Id: texutils.cpp,v 1.32.2.2 2006/01/27 03:08:36 MW Exp $ +// RCS-ID: $Id: texutils.cpp,v 1.32.2.3 2006/06/13 10:34:58 ABX Exp $ // Copyright: (c) Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -1204,6 +1204,7 @@ up.MakeUpper(); if (up.IsSameAs(_T("YES")) || + up.IsSameAs(_T("TRUE")) || up.IsSameAs(_T("ON")) || up.IsSameAs(_T("OK")) | up.IsSameAs(_T("1"))) diff -ur wxWidgets-2.6.3/version-script.in wxWidgets-2.6.3.3/version-script.in --- wxWidgets-2.6.3/version-script.in 2006-03-18 09:25:50.000000000 -0500 +++ wxWidgets-2.6.3.3/version-script.in 2006-07-06 06:40:39.000000000 -0400 @@ -1,11 +1,21 @@ # -# $Id: version-script.in,v 1.23.2.5 2006/03/18 14:25:50 RR Exp $ +# $Id: version-script.in,v 1.23.2.7 2006/07/06 10:40:39 ABX Exp $ # # Note: Remove all of the tags below except for the last one when creating # new development branch. +# public symbols added in release 2.6.4 (please keep in alphabetical order): + +@WX_VERSION_TAG@.4 { + global: + *wxString*const_reverse_iterator*; + *wxString*rbegin*; + *wxString*rend*; + *wxString*reverse_iterator*; +}; + # public symbols added in release 2.6.3 (please keep in alphabetical order): @WX_VERSION_TAG@.3 {