From 4732e2dca973b039b9a7db604a8adf59d99dc1a7 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sat, 9 Feb 2008 14:40:26 +0000 Subject: [PATCH] add wxUSE_WEAKREF (modified partially applied patch 1870445) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51614 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- configure | 508 +++++++++++++++++++---------------- configure.in | 22 +- include/wx/chkconf.h | 8 + include/wx/event.h | 11 +- include/wx/mac/setup0.h | 10 + include/wx/motif/setup0.h | 10 + include/wx/msw/setup0.h | 10 + include/wx/msw/wince/setup.h | 10 + include/wx/os2/setup0.h | 10 + include/wx/palmos/setup0.h | 10 + include/wx/setup_inc.h | 10 + include/wx/univ/setup0.h | 10 + setup.h.in | 2 + src/common/event.cpp | 8 + 14 files changed, 402 insertions(+), 237 deletions(-) diff --git a/configure b/configure index ccaf4aff6f..3e4a3663ac 100755 --- a/configure +++ b/configure @@ -1706,7 +1706,9 @@ Optional Features: --enable-log use logging system --enable-longlong use wxLongLong class --enable-mimetype use wxMimeTypesManager + --enable-printfposparam use wxVsnprintf() which supports positional parameters --enable-snglinst use wxSingleInstanceChecker class + --enable-sound use wxSound class --enable-stdpaths use wxStandardPaths class --enable-stopwatch use wxStopWatch class --enable-streams use wxStream etc classes @@ -1715,13 +1717,10 @@ Optional Features: --enable-textbuf use wxTextBuffer class --enable-textfile use wxTextFile class --enable-timer use wxTimer class - --enable-sound use wxSound class - --enable-mediactrl use wxMediaCtrl class - --enable-gstreamer8 force GStreamer 0.8 instead of 0.10 with the wxMediaCtrl class on unix - --enable-printfposparam use wxVsnprintf() which supports positional parameters + --enable-variant use wxVariant class + --enable-weakref make wxEvtHandler trackable with wxWeakRef<> --enable-zipstream use wxZip streams --enable-url use wxURL class - --enable-variant use wxVariant class --enable-protocol use wxProtocol class --enable-protocol-http HTTP support in wxProtocol --enable-protocol-ftp FTP support in wxProtocol @@ -1738,16 +1737,18 @@ Optional Features: --enable-aui use AUI docking library --enable-stc use wxStyledTextCtrl library --enable-constraints use layout-constraints system - --enable-printarch use printing architecture - --enable-mdi use multiple document interface architecture - --enable-mdidoc use docview architecture with MDI --enable-loggui use standard GUI logger --enable-logwin use wxLogWindow --enable-logdialog use wxLogDialog + --enable-mdi use multiple document interface architecture + --enable-mdidoc use docview architecture with MDI + --enable-mediactrl use wxMediaCtrl class + --enable-gstreamer8 force GStreamer 0.8 instead of 0.10 with the wxMediaCtrl class on unix --enable-webkit use wxWebKitCtrl (Mac) --enable-richtext use wxRichTextCtrl --enable-graphics_ctx use graphics context 2D drawing API --enable-postscript use wxPostscriptDC device context (default for gtk+) + --enable-printarch use printing architecture --enable-svg use wxSVGFileDC device context --enable-clipboard use wxClipboard class --enable-dnd use Drag'n'Drop classes @@ -7242,6 +7243,50 @@ fi echo "${ECHO_T}$result" >&6; } + enablestring= + defaultval=$wxUSE_ALL_FEATURES + if test -z "$defaultval"; then + if test x"$enablestring" = xdisable; then + defaultval=yes + else + defaultval=no + fi + fi + + { echo "$as_me:$LINENO: checking for --${enablestring:-enable}-printfposparam" >&5 +echo $ECHO_N "checking for --${enablestring:-enable}-printfposparam... $ECHO_C" >&6; } + # Check whether --enable-printfposparam was given. +if test "${enable_printfposparam+set}" = set; then + enableval=$enable_printfposparam; + if test "$enableval" = yes; then + wx_cv_use_printfposparam='wxUSE_PRINTF_POS_PARAMS=yes' + else + wx_cv_use_printfposparam='wxUSE_PRINTF_POS_PARAMS=no' + fi + +else + + wx_cv_use_printfposparam='wxUSE_PRINTF_POS_PARAMS=${'DEFAULT_wxUSE_PRINTF_POS_PARAMS":-$defaultval}" + +fi + + + eval "$wx_cv_use_printfposparam" + + if test x"$enablestring" = xdisable; then + if test $wxUSE_PRINTF_POS_PARAMS = yes; then + result=no + else + result=yes + fi + else + result=$wxUSE_PRINTF_POS_PARAMS + fi + + { echo "$as_me:$LINENO: result: $result" >&5 +echo "${ECHO_T}$result" >&6; } + + enablestring= defaultval=$wxUSE_ALL_FEATURES if test -z "$defaultval"; then @@ -7286,6 +7331,50 @@ fi echo "${ECHO_T}$result" >&6; } + enablestring= + defaultval=$wxUSE_ALL_FEATURES + if test -z "$defaultval"; then + if test x"$enablestring" = xdisable; then + defaultval=yes + else + defaultval=no + fi + fi + + { echo "$as_me:$LINENO: checking for --${enablestring:-enable}-sound" >&5 +echo $ECHO_N "checking for --${enablestring:-enable}-sound... $ECHO_C" >&6; } + # Check whether --enable-sound was given. +if test "${enable_sound+set}" = set; then + enableval=$enable_sound; + if test "$enableval" = yes; then + wx_cv_use_sound='wxUSE_SOUND=yes' + else + wx_cv_use_sound='wxUSE_SOUND=no' + fi + +else + + wx_cv_use_sound='wxUSE_SOUND=${'DEFAULT_wxUSE_SOUND":-$defaultval}" + +fi + + + eval "$wx_cv_use_sound" + + if test x"$enablestring" = xdisable; then + if test $wxUSE_SOUND = yes; then + result=no + else + result=yes + fi + else + result=$wxUSE_SOUND + fi + + { echo "$as_me:$LINENO: result: $result" >&5 +echo "${ECHO_T}$result" >&6; } + + enablestring= defaultval=$wxUSE_ALL_FEATURES if test -z "$defaultval"; then @@ -7648,122 +7737,34 @@ echo "${ECHO_T}$result" >&6; } fi fi - { echo "$as_me:$LINENO: checking for --${enablestring:-enable}-sound" >&5 -echo $ECHO_N "checking for --${enablestring:-enable}-sound... $ECHO_C" >&6; } - # Check whether --enable-sound was given. -if test "${enable_sound+set}" = set; then - enableval=$enable_sound; - if test "$enableval" = yes; then - wx_cv_use_sound='wxUSE_SOUND=yes' - else - wx_cv_use_sound='wxUSE_SOUND=no' - fi - -else - - wx_cv_use_sound='wxUSE_SOUND=${'DEFAULT_wxUSE_SOUND":-$defaultval}" - -fi - - - eval "$wx_cv_use_sound" - - if test x"$enablestring" = xdisable; then - if test $wxUSE_SOUND = yes; then - result=no - else - result=yes - fi - else - result=$wxUSE_SOUND - fi - - { echo "$as_me:$LINENO: result: $result" >&5 -echo "${ECHO_T}$result" >&6; } - - - enablestring= - defaultval=$wxUSE_ALL_FEATURES - if test -z "$defaultval"; then - if test x"$enablestring" = xdisable; then - defaultval=yes - else - defaultval=no - fi - fi - - { echo "$as_me:$LINENO: checking for --${enablestring:-enable}-mediactrl" >&5 -echo $ECHO_N "checking for --${enablestring:-enable}-mediactrl... $ECHO_C" >&6; } - # Check whether --enable-mediactrl was given. -if test "${enable_mediactrl+set}" = set; then - enableval=$enable_mediactrl; - if test "$enableval" = yes; then - wx_cv_use_mediactrl='wxUSE_MEDIACTRL=yes' - else - wx_cv_use_mediactrl='wxUSE_MEDIACTRL=no' - fi - -else - - wx_cv_use_mediactrl='wxUSE_MEDIACTRL=${'DEFAULT_wxUSE_MEDIACTRL":-$defaultval}" - -fi - - - eval "$wx_cv_use_mediactrl" - - if test x"$enablestring" = xdisable; then - if test $wxUSE_MEDIACTRL = yes; then - result=no - else - result=yes - fi - else - result=$wxUSE_MEDIACTRL - fi - - { echo "$as_me:$LINENO: result: $result" >&5 -echo "${ECHO_T}$result" >&6; } - - - enablestring= - defaultval=$wxUSE_ALL_FEATURES - if test -z "$defaultval"; then - if test x"$enablestring" = xdisable; then - defaultval=yes - else - defaultval=no - fi - fi - - { echo "$as_me:$LINENO: checking for --${enablestring:-enable}-gstreamer8" >&5 -echo $ECHO_N "checking for --${enablestring:-enable}-gstreamer8... $ECHO_C" >&6; } - # Check whether --enable-gstreamer8 was given. -if test "${enable_gstreamer8+set}" = set; then - enableval=$enable_gstreamer8; + { echo "$as_me:$LINENO: checking for --${enablestring:-enable}-variant" >&5 +echo $ECHO_N "checking for --${enablestring:-enable}-variant... $ECHO_C" >&6; } + # Check whether --enable-variant was given. +if test "${enable_variant+set}" = set; then + enableval=$enable_variant; if test "$enableval" = yes; then - wx_cv_use_gstreamer8='wxUSE_GSTREAMER8=yes' + wx_cv_use_variant='wxUSE_VARIANT=yes' else - wx_cv_use_gstreamer8='wxUSE_GSTREAMER8=no' + wx_cv_use_variant='wxUSE_VARIANT=no' fi else - wx_cv_use_gstreamer8='wxUSE_GSTREAMER8=${'DEFAULT_wxUSE_GSTREAMER8":-$defaultval}" + wx_cv_use_variant='wxUSE_VARIANT=${'DEFAULT_wxUSE_VARIANT":-$defaultval}" fi - eval "$wx_cv_use_gstreamer8" + eval "$wx_cv_use_variant" if test x"$enablestring" = xdisable; then - if test $wxUSE_GSTREAMER8 = yes; then + if test $wxUSE_VARIANT = yes; then result=no else result=yes fi else - result=$wxUSE_GSTREAMER8 + result=$wxUSE_VARIANT fi { echo "$as_me:$LINENO: result: $result" >&5 @@ -7780,34 +7781,34 @@ echo "${ECHO_T}$result" >&6; } fi fi - { echo "$as_me:$LINENO: checking for --${enablestring:-enable}-printfposparam" >&5 -echo $ECHO_N "checking for --${enablestring:-enable}-printfposparam... $ECHO_C" >&6; } - # Check whether --enable-printfposparam was given. -if test "${enable_printfposparam+set}" = set; then - enableval=$enable_printfposparam; + { echo "$as_me:$LINENO: checking for --${enablestring:-enable}-weakref" >&5 +echo $ECHO_N "checking for --${enablestring:-enable}-weakref... $ECHO_C" >&6; } + # Check whether --enable-weakref was given. +if test "${enable_weakref+set}" = set; then + enableval=$enable_weakref; if test "$enableval" = yes; then - wx_cv_use_printfposparam='wxUSE_PRINTF_POS_PARAMS=yes' + wx_cv_use_weakref='wxUSE_WEAKREF=yes' else - wx_cv_use_printfposparam='wxUSE_PRINTF_POS_PARAMS=no' + wx_cv_use_weakref='wxUSE_WEAKREF=no' fi else - wx_cv_use_printfposparam='wxUSE_PRINTF_POS_PARAMS=${'DEFAULT_wxUSE_PRINTF_POS_PARAMS":-$defaultval}" + wx_cv_use_weakref='wxUSE_WEAKREF=${'DEFAULT_wxUSE_WEAKREF":-$defaultval}" fi - eval "$wx_cv_use_printfposparam" + eval "$wx_cv_use_weakref" if test x"$enablestring" = xdisable; then - if test $wxUSE_PRINTF_POS_PARAMS = yes; then + if test $wxUSE_WEAKREF = yes; then result=no else result=yes fi else - result=$wxUSE_PRINTF_POS_PARAMS + result=$wxUSE_WEAKREF fi { echo "$as_me:$LINENO: result: $result" >&5 @@ -7903,50 +7904,6 @@ fi echo "${ECHO_T}$result" >&6; } - enablestring= - defaultval=$wxUSE_ALL_FEATURES - if test -z "$defaultval"; then - if test x"$enablestring" = xdisable; then - defaultval=yes - else - defaultval=no - fi - fi - - { echo "$as_me:$LINENO: checking for --${enablestring:-enable}-variant" >&5 -echo $ECHO_N "checking for --${enablestring:-enable}-variant... $ECHO_C" >&6; } - # Check whether --enable-variant was given. -if test "${enable_variant+set}" = set; then - enableval=$enable_variant; - if test "$enableval" = yes; then - wx_cv_use_variant='wxUSE_VARIANT=yes' - else - wx_cv_use_variant='wxUSE_VARIANT=no' - fi - -else - - wx_cv_use_variant='wxUSE_VARIANT=${'DEFAULT_wxUSE_VARIANT":-$defaultval}" - -fi - - - eval "$wx_cv_use_variant" - - if test x"$enablestring" = xdisable; then - if test $wxUSE_VARIANT = yes; then - result=no - else - result=yes - fi - else - result=$wxUSE_VARIANT - fi - - { echo "$as_me:$LINENO: result: $result" >&5 -echo "${ECHO_T}$result" >&6; } - - enablestring= defaultval=$wxUSE_ALL_FEATURES if test -z "$defaultval"; then @@ -8667,34 +8624,34 @@ echo "${ECHO_T}$result" >&6; } fi fi - { echo "$as_me:$LINENO: checking for --${enablestring:-enable}-printarch" >&5 -echo $ECHO_N "checking for --${enablestring:-enable}-printarch... $ECHO_C" >&6; } - # Check whether --enable-printarch was given. -if test "${enable_printarch+set}" = set; then - enableval=$enable_printarch; + { echo "$as_me:$LINENO: checking for --${enablestring:-enable}-loggui" >&5 +echo $ECHO_N "checking for --${enablestring:-enable}-loggui... $ECHO_C" >&6; } + # Check whether --enable-loggui was given. +if test "${enable_loggui+set}" = set; then + enableval=$enable_loggui; if test "$enableval" = yes; then - wx_cv_use_printarch='wxUSE_PRINTING_ARCHITECTURE=yes' + wx_cv_use_loggui='wxUSE_LOGGUI=yes' else - wx_cv_use_printarch='wxUSE_PRINTING_ARCHITECTURE=no' + wx_cv_use_loggui='wxUSE_LOGGUI=no' fi else - wx_cv_use_printarch='wxUSE_PRINTING_ARCHITECTURE=${'DEFAULT_wxUSE_PRINTING_ARCHITECTURE":-$defaultval}" + wx_cv_use_loggui='wxUSE_LOGGUI=${'DEFAULT_wxUSE_LOGGUI":-$defaultval}" fi - eval "$wx_cv_use_printarch" + eval "$wx_cv_use_loggui" if test x"$enablestring" = xdisable; then - if test $wxUSE_PRINTING_ARCHITECTURE = yes; then + if test $wxUSE_LOGGUI = yes; then result=no else result=yes fi else - result=$wxUSE_PRINTING_ARCHITECTURE + result=$wxUSE_LOGGUI fi { echo "$as_me:$LINENO: result: $result" >&5 @@ -8711,34 +8668,34 @@ echo "${ECHO_T}$result" >&6; } fi fi - { echo "$as_me:$LINENO: checking for --${enablestring:-enable}-mdi" >&5 -echo $ECHO_N "checking for --${enablestring:-enable}-mdi... $ECHO_C" >&6; } - # Check whether --enable-mdi was given. -if test "${enable_mdi+set}" = set; then - enableval=$enable_mdi; + { echo "$as_me:$LINENO: checking for --${enablestring:-enable}-logwin" >&5 +echo $ECHO_N "checking for --${enablestring:-enable}-logwin... $ECHO_C" >&6; } + # Check whether --enable-logwin was given. +if test "${enable_logwin+set}" = set; then + enableval=$enable_logwin; if test "$enableval" = yes; then - wx_cv_use_mdi='wxUSE_MDI=yes' + wx_cv_use_logwin='wxUSE_LOGWINDOW=yes' else - wx_cv_use_mdi='wxUSE_MDI=no' + wx_cv_use_logwin='wxUSE_LOGWINDOW=no' fi else - wx_cv_use_mdi='wxUSE_MDI=${'DEFAULT_wxUSE_MDI":-$defaultval}" + wx_cv_use_logwin='wxUSE_LOGWINDOW=${'DEFAULT_wxUSE_LOGWINDOW":-$defaultval}" fi - eval "$wx_cv_use_mdi" + eval "$wx_cv_use_logwin" if test x"$enablestring" = xdisable; then - if test $wxUSE_MDI = yes; then + if test $wxUSE_LOGWINDOW = yes; then result=no else result=yes fi else - result=$wxUSE_MDI + result=$wxUSE_LOGWINDOW fi { echo "$as_me:$LINENO: result: $result" >&5 @@ -8755,34 +8712,34 @@ echo "${ECHO_T}$result" >&6; } fi fi - { echo "$as_me:$LINENO: checking for --${enablestring:-enable}-mdidoc" >&5 -echo $ECHO_N "checking for --${enablestring:-enable}-mdidoc... $ECHO_C" >&6; } - # Check whether --enable-mdidoc was given. -if test "${enable_mdidoc+set}" = set; then - enableval=$enable_mdidoc; + { echo "$as_me:$LINENO: checking for --${enablestring:-enable}-logdialog" >&5 +echo $ECHO_N "checking for --${enablestring:-enable}-logdialog... $ECHO_C" >&6; } + # Check whether --enable-logdialog was given. +if test "${enable_logdialog+set}" = set; then + enableval=$enable_logdialog; if test "$enableval" = yes; then - wx_cv_use_mdidoc='wxUSE_MDI_ARCHITECTURE=yes' + wx_cv_use_logdialog='wxUSE_LOGDIALOG=yes' else - wx_cv_use_mdidoc='wxUSE_MDI_ARCHITECTURE=no' + wx_cv_use_logdialog='wxUSE_LOGDIALOG=no' fi else - wx_cv_use_mdidoc='wxUSE_MDI_ARCHITECTURE=${'DEFAULT_wxUSE_MDI_ARCHITECTURE":-$defaultval}" + wx_cv_use_logdialog='wxUSE_LOGDIALOG=${'DEFAULT_wxUSE_LOGDIALOG":-$defaultval}" fi - eval "$wx_cv_use_mdidoc" + eval "$wx_cv_use_logdialog" if test x"$enablestring" = xdisable; then - if test $wxUSE_MDI_ARCHITECTURE = yes; then + if test $wxUSE_LOGDIALOG = yes; then result=no else result=yes fi else - result=$wxUSE_MDI_ARCHITECTURE + result=$wxUSE_LOGDIALOG fi { echo "$as_me:$LINENO: result: $result" >&5 @@ -8799,34 +8756,34 @@ echo "${ECHO_T}$result" >&6; } fi fi - { echo "$as_me:$LINENO: checking for --${enablestring:-enable}-loggui" >&5 -echo $ECHO_N "checking for --${enablestring:-enable}-loggui... $ECHO_C" >&6; } - # Check whether --enable-loggui was given. -if test "${enable_loggui+set}" = set; then - enableval=$enable_loggui; + { echo "$as_me:$LINENO: checking for --${enablestring:-enable}-mdi" >&5 +echo $ECHO_N "checking for --${enablestring:-enable}-mdi... $ECHO_C" >&6; } + # Check whether --enable-mdi was given. +if test "${enable_mdi+set}" = set; then + enableval=$enable_mdi; if test "$enableval" = yes; then - wx_cv_use_loggui='wxUSE_LOGGUI=yes' + wx_cv_use_mdi='wxUSE_MDI=yes' else - wx_cv_use_loggui='wxUSE_LOGGUI=no' + wx_cv_use_mdi='wxUSE_MDI=no' fi else - wx_cv_use_loggui='wxUSE_LOGGUI=${'DEFAULT_wxUSE_LOGGUI":-$defaultval}" + wx_cv_use_mdi='wxUSE_MDI=${'DEFAULT_wxUSE_MDI":-$defaultval}" fi - eval "$wx_cv_use_loggui" + eval "$wx_cv_use_mdi" if test x"$enablestring" = xdisable; then - if test $wxUSE_LOGGUI = yes; then + if test $wxUSE_MDI = yes; then result=no else result=yes fi else - result=$wxUSE_LOGGUI + result=$wxUSE_MDI fi { echo "$as_me:$LINENO: result: $result" >&5 @@ -8843,34 +8800,34 @@ echo "${ECHO_T}$result" >&6; } fi fi - { echo "$as_me:$LINENO: checking for --${enablestring:-enable}-logwin" >&5 -echo $ECHO_N "checking for --${enablestring:-enable}-logwin... $ECHO_C" >&6; } - # Check whether --enable-logwin was given. -if test "${enable_logwin+set}" = set; then - enableval=$enable_logwin; + { echo "$as_me:$LINENO: checking for --${enablestring:-enable}-mdidoc" >&5 +echo $ECHO_N "checking for --${enablestring:-enable}-mdidoc... $ECHO_C" >&6; } + # Check whether --enable-mdidoc was given. +if test "${enable_mdidoc+set}" = set; then + enableval=$enable_mdidoc; if test "$enableval" = yes; then - wx_cv_use_logwin='wxUSE_LOGWINDOW=yes' + wx_cv_use_mdidoc='wxUSE_MDI_ARCHITECTURE=yes' else - wx_cv_use_logwin='wxUSE_LOGWINDOW=no' + wx_cv_use_mdidoc='wxUSE_MDI_ARCHITECTURE=no' fi else - wx_cv_use_logwin='wxUSE_LOGWINDOW=${'DEFAULT_wxUSE_LOGWINDOW":-$defaultval}" + wx_cv_use_mdidoc='wxUSE_MDI_ARCHITECTURE=${'DEFAULT_wxUSE_MDI_ARCHITECTURE":-$defaultval}" fi - eval "$wx_cv_use_logwin" + eval "$wx_cv_use_mdidoc" if test x"$enablestring" = xdisable; then - if test $wxUSE_LOGWINDOW = yes; then + if test $wxUSE_MDI_ARCHITECTURE = yes; then result=no else result=yes fi else - result=$wxUSE_LOGWINDOW + result=$wxUSE_MDI_ARCHITECTURE fi { echo "$as_me:$LINENO: result: $result" >&5 @@ -8887,34 +8844,78 @@ echo "${ECHO_T}$result" >&6; } fi fi - { echo "$as_me:$LINENO: checking for --${enablestring:-enable}-logdialog" >&5 -echo $ECHO_N "checking for --${enablestring:-enable}-logdialog... $ECHO_C" >&6; } - # Check whether --enable-logdialog was given. -if test "${enable_logdialog+set}" = set; then - enableval=$enable_logdialog; + { echo "$as_me:$LINENO: checking for --${enablestring:-enable}-mediactrl" >&5 +echo $ECHO_N "checking for --${enablestring:-enable}-mediactrl... $ECHO_C" >&6; } + # Check whether --enable-mediactrl was given. +if test "${enable_mediactrl+set}" = set; then + enableval=$enable_mediactrl; if test "$enableval" = yes; then - wx_cv_use_logdialog='wxUSE_LOGDIALOG=yes' + wx_cv_use_mediactrl='wxUSE_MEDIACTRL=yes' else - wx_cv_use_logdialog='wxUSE_LOGDIALOG=no' + wx_cv_use_mediactrl='wxUSE_MEDIACTRL=no' fi else - wx_cv_use_logdialog='wxUSE_LOGDIALOG=${'DEFAULT_wxUSE_LOGDIALOG":-$defaultval}" + wx_cv_use_mediactrl='wxUSE_MEDIACTRL=${'DEFAULT_wxUSE_MEDIACTRL":-$defaultval}" fi - eval "$wx_cv_use_logdialog" + eval "$wx_cv_use_mediactrl" if test x"$enablestring" = xdisable; then - if test $wxUSE_LOGDIALOG = yes; then + if test $wxUSE_MEDIACTRL = yes; then result=no else result=yes fi else - result=$wxUSE_LOGDIALOG + result=$wxUSE_MEDIACTRL + fi + + { echo "$as_me:$LINENO: result: $result" >&5 +echo "${ECHO_T}$result" >&6; } + + + enablestring= + defaultval=$wxUSE_ALL_FEATURES + if test -z "$defaultval"; then + if test x"$enablestring" = xdisable; then + defaultval=yes + else + defaultval=no + fi + fi + + { echo "$as_me:$LINENO: checking for --${enablestring:-enable}-gstreamer8" >&5 +echo $ECHO_N "checking for --${enablestring:-enable}-gstreamer8... $ECHO_C" >&6; } + # Check whether --enable-gstreamer8 was given. +if test "${enable_gstreamer8+set}" = set; then + enableval=$enable_gstreamer8; + if test "$enableval" = yes; then + wx_cv_use_gstreamer8='wxUSE_GSTREAMER8=yes' + else + wx_cv_use_gstreamer8='wxUSE_GSTREAMER8=no' + fi + +else + + wx_cv_use_gstreamer8='wxUSE_GSTREAMER8=${'DEFAULT_wxUSE_GSTREAMER8":-$defaultval}" + +fi + + + eval "$wx_cv_use_gstreamer8" + + if test x"$enablestring" = xdisable; then + if test $wxUSE_GSTREAMER8 = yes; then + result=no + else + result=yes + fi + else + result=$wxUSE_GSTREAMER8 fi { echo "$as_me:$LINENO: result: $result" >&5 @@ -9097,6 +9098,50 @@ fi echo "${ECHO_T}$result" >&6; } + enablestring= + defaultval=$wxUSE_ALL_FEATURES + if test -z "$defaultval"; then + if test x"$enablestring" = xdisable; then + defaultval=yes + else + defaultval=no + fi + fi + + { echo "$as_me:$LINENO: checking for --${enablestring:-enable}-printarch" >&5 +echo $ECHO_N "checking for --${enablestring:-enable}-printarch... $ECHO_C" >&6; } + # Check whether --enable-printarch was given. +if test "${enable_printarch+set}" = set; then + enableval=$enable_printarch; + if test "$enableval" = yes; then + wx_cv_use_printarch='wxUSE_PRINTING_ARCHITECTURE=yes' + else + wx_cv_use_printarch='wxUSE_PRINTING_ARCHITECTURE=no' + fi + +else + + wx_cv_use_printarch='wxUSE_PRINTING_ARCHITECTURE=${'DEFAULT_wxUSE_PRINTING_ARCHITECTURE":-$defaultval}" + +fi + + + eval "$wx_cv_use_printarch" + + if test x"$enablestring" = xdisable; then + if test $wxUSE_PRINTING_ARCHITECTURE = yes; then + result=no + else + result=yes + fi + else + result=$wxUSE_PRINTING_ARCHITECTURE + fi + + { echo "$as_me:$LINENO: result: $result" >&5 +echo "${ECHO_T}$result" >&6; } + + enablestring= defaultval=$wxUSE_ALL_FEATURES if test -z "$defaultval"; then @@ -44326,6 +44371,13 @@ _ACEOF fi +if test "$wxUSE_WEAKREF" = "yes"; then + cat >>confdefs.h <<\_ACEOF +#define wxUSE_WEAKREF 1 +_ACEOF + +fi + if test "$wxUSE_FS_INET" = "yes"; then cat >>confdefs.h <<\_ACEOF #define wxUSE_FS_INET 1 diff --git a/configure.in b/configure.in index e14b4bd861..85d3771cad 100644 --- a/configure.in +++ b/configure.in @@ -706,7 +706,9 @@ WX_ARG_FEATURE(geometry, [ --enable-geometry use geometry class], wx WX_ARG_FEATURE(log, [ --enable-log use logging system], wxUSE_LOG) WX_ARG_FEATURE(longlong, [ --enable-longlong use wxLongLong class], wxUSE_LONGLONG) WX_ARG_FEATURE(mimetype, [ --enable-mimetype use wxMimeTypesManager], wxUSE_MIMETYPE) +WX_ARG_FEATURE(printfposparam,[ --enable-printfposparam use wxVsnprintf() which supports positional parameters], wxUSE_PRINTF_POS_PARAMS) WX_ARG_FEATURE(snglinst, [ --enable-snglinst use wxSingleInstanceChecker class], wxUSE_SNGLINST_CHECKER) +WX_ARG_FEATURE(sound, [ --enable-sound use wxSound class], wxUSE_SOUND) WX_ARG_FEATURE(stdpaths, [ --enable-stdpaths use wxStandardPaths class], wxUSE_STDPATHS) WX_ARG_FEATURE(stopwatch, [ --enable-stopwatch use wxStopWatch class], wxUSE_STOPWATCH) WX_ARG_FEATURE(streams, [ --enable-streams use wxStream etc classes], wxUSE_STREAMS) @@ -715,14 +717,12 @@ WX_ARG_FEATURE(tarstream, [ --enable-tarstream use wxTar streams], wxU WX_ARG_FEATURE(textbuf, [ --enable-textbuf use wxTextBuffer class], wxUSE_TEXTBUFFER) WX_ARG_FEATURE(textfile, [ --enable-textfile use wxTextFile class], wxUSE_TEXTFILE) WX_ARG_FEATURE(timer, [ --enable-timer use wxTimer class], wxUSE_TIMER) -WX_ARG_FEATURE(sound, [ --enable-sound use wxSound class], wxUSE_SOUND) -WX_ARG_FEATURE(mediactrl, [ --enable-mediactrl use wxMediaCtrl class], wxUSE_MEDIACTRL) -WX_ARG_FEATURE(gstreamer8, [ --enable-gstreamer8 force GStreamer 0.8 instead of 0.10 with the wxMediaCtrl class on unix], wxUSE_GSTREAMER8) -WX_ARG_FEATURE(printfposparam,[ --enable-printfposparam use wxVsnprintf() which supports positional parameters], wxUSE_PRINTF_POS_PARAMS) +WX_ARG_FEATURE(variant, [ --enable-variant use wxVariant class], wxUSE_VARIANT) +WX_ARG_FEATURE(weakref, [ --enable-weakref make wxEvtHandler trackable with wxWeakRef<>], wxUSE_WEAKREF) WX_ARG_FEATURE(zipstream, [ --enable-zipstream use wxZip streams], wxUSE_ZIPSTREAM) +dnl URL-related classes WX_ARG_FEATURE(url, [ --enable-url use wxURL class], wxUSE_URL) -WX_ARG_FEATURE(variant, [ --enable-variant use wxVariant class], wxUSE_VARIANT) WX_ARG_FEATURE(protocol, [ --enable-protocol use wxProtocol class], wxUSE_PROTOCOL) WX_ARG_FEATURE(protocol_http, [ --enable-protocol-http HTTP support in wxProtocol], wxUSE_PROTOCOL_HTTP) WX_ARG_FEATURE(protocol_ftp, [ --enable-protocol-ftp FTP support in wxProtocol], wxUSE_PROTOCOL_FTP) @@ -748,16 +748,18 @@ WX_ARG_FEATURE(xrc, [ --enable-xrc use XRC resources sub-lib WX_ARG_FEATURE(aui, [ --enable-aui use AUI docking library], wxUSE_AUI) WX_ARG_FEATURE(stc, [ --enable-stc use wxStyledTextCtrl library], wxUSE_STC) WX_ARG_FEATURE(constraints, [ --enable-constraints use layout-constraints system], wxUSE_CONSTRAINTS) -WX_ARG_FEATURE(printarch, [ --enable-printarch use printing architecture], wxUSE_PRINTING_ARCHITECTURE) -WX_ARG_FEATURE(mdi, [ --enable-mdi use multiple document interface architecture], wxUSE_MDI) -WX_ARG_FEATURE(mdidoc, [ --enable-mdidoc use docview architecture with MDI], wxUSE_MDI_ARCHITECTURE) WX_ARG_FEATURE(loggui, [ --enable-loggui use standard GUI logger], wxUSE_LOGGUI) WX_ARG_FEATURE(logwin, [ --enable-logwin use wxLogWindow], wxUSE_LOGWINDOW) WX_ARG_FEATURE(logdialog, [ --enable-logdialog use wxLogDialog], wxUSE_LOGDIALOG) +WX_ARG_FEATURE(mdi, [ --enable-mdi use multiple document interface architecture], wxUSE_MDI) +WX_ARG_FEATURE(mdidoc, [ --enable-mdidoc use docview architecture with MDI], wxUSE_MDI_ARCHITECTURE) +WX_ARG_FEATURE(mediactrl, [ --enable-mediactrl use wxMediaCtrl class], wxUSE_MEDIACTRL) +WX_ARG_FEATURE(gstreamer8, [ --enable-gstreamer8 force GStreamer 0.8 instead of 0.10 with the wxMediaCtrl class on unix], wxUSE_GSTREAMER8) WX_ARG_FEATURE(webkit, [ --enable-webkit use wxWebKitCtrl (Mac)], wxUSE_WEBKIT) WX_ARG_FEATURE(richtext, [ --enable-richtext use wxRichTextCtrl], wxUSE_RICHTEXT) WX_ARG_FEATURE(graphics_ctx,[ --enable-graphics_ctx use graphics context 2D drawing API], wxUSE_GRAPHICS_CONTEXT) WX_ARG_FEATURE(postscript, [ --enable-postscript use wxPostscriptDC device context (default for gtk+)], wxUSE_POSTSCRIPT) +WX_ARG_FEATURE(printarch, [ --enable-printarch use printing architecture], wxUSE_PRINTING_ARCHITECTURE) WX_ARG_FEATURE(svg, [ --enable-svg use wxSVGFileDC device context], wxUSE_SVG) dnl --------------------------------------------------------------------------- @@ -6052,6 +6054,10 @@ if test "$wxUSE_VARIANT" = "yes"; then AC_DEFINE(wxUSE_VARIANT) fi +if test "$wxUSE_WEAKREF" = "yes"; then + AC_DEFINE(wxUSE_WEAKREF) +fi + if test "$wxUSE_FS_INET" = "yes"; then AC_DEFINE(wxUSE_FS_INET) fi diff --git a/include/wx/chkconf.h b/include/wx/chkconf.h index 97ee334f23..56032a719b 100644 --- a/include/wx/chkconf.h +++ b/include/wx/chkconf.h @@ -291,6 +291,14 @@ # endif #endif /* wxUSE_VARIANT */ +#ifndef wxUSE_WEAKREF +# ifdef wxABORT_ON_CONFIG_ERROR +# error "wxUSE_WEAKREF must be defined." +# else +# define wxUSE_WEAKREF 0 +# endif +#endif /* wxUSE_WEAKREF */ + /* Section 1b: all these tests are for GUI only. diff --git a/include/wx/event.h b/include/wx/event.h index 25c5ee4985..109c842ffb 100644 --- a/include/wx/event.h +++ b/include/wx/event.h @@ -2258,7 +2258,10 @@ protected: // wxEvtHandler: the base class for all objects handling wxWidgets events // ---------------------------------------------------------------------------- -class WXDLLIMPEXP_BASE wxEvtHandler : public wxObject, public wxTrackable +class WXDLLIMPEXP_BASE wxEvtHandler : public wxObject +#if wxUSE_WEAKREF + , public wxTrackable +#endif { public: wxEvtHandler(); @@ -2358,7 +2361,9 @@ public: // Avoid problems at exit by cleaning up static hash table gracefully void ClearEventHashTable() { GetEventHashTable().Clear(); } +#if wxUSE_WEAKREF void OnSinkDestroyed( wxEvtHandler *sink ); +#endif private: static const wxEventTableEntry sm_eventTableEntries[]; @@ -2425,13 +2430,16 @@ protected: virtual void DoSetClientData( void *data ); virtual void *DoGetClientData() const; +#if wxUSE_WEAKREF // Search tracker objects for event connection with this sink wxEventConnectionRef *FindRefInTrackerList(wxEvtHandler *eventSink); +#endif private: DECLARE_DYNAMIC_CLASS_NO_COPY(wxEvtHandler) }; +#if wxUSE_WEAKREF // ---------------------------------------------------------------------------- // wxEventConnectionRef represents all connections between two event handlers // and enables automatic disconnect when an event handler sink goes out of @@ -2480,6 +2488,7 @@ private: DECLARE_NO_ASSIGN_CLASS(wxEventConnectionRef) }; +#endif // wxUSE_WEAKREF // Post a message to the given eventhandler which will be processed during the // next event loop iteration diff --git a/include/wx/mac/setup0.h b/include/wx/mac/setup0.h index e9d5f8f823..d3f2e97f79 100644 --- a/include/wx/mac/setup0.h +++ b/include/wx/mac/setup0.h @@ -235,6 +235,16 @@ // Recommended setting: 0 unless you do plan to develop MT applications #define wxUSE_THREADS 1 +// Set wxUSE_WEAKREF to 1 t support use of weak references to common classes +// in wxWidgets (wxWeakRef). Set to 0 if your compiler has problems with +// the template-based implementation (Embedded Visual C++ 4 for ARM has a bug +// in this area, Visual C compiler options "/vmm /vmg" may help then). +// +// Default is 1 +// +// Recommended setting: 1 +#define wxUSE_WEAKREF 1 + // If enabled, compiles wxWidgets streams classes // // wx stream classes are used for image IO, process IO redirection, network diff --git a/include/wx/motif/setup0.h b/include/wx/motif/setup0.h index 0489e37064..080be0a033 100644 --- a/include/wx/motif/setup0.h +++ b/include/wx/motif/setup0.h @@ -234,6 +234,16 @@ // Recommended setting: 0 unless you do plan to develop MT applications #define wxUSE_THREADS 1 +// Set wxUSE_WEAKREF to 1 t support use of weak references to common classes +// in wxWidgets (wxWeakRef). Set to 0 if your compiler has problems with +// the template-based implementation (Embedded Visual C++ 4 for ARM has a bug +// in this area, Visual C compiler options "/vmm /vmg" may help then). +// +// Default is 1 +// +// Recommended setting: 1 +#define wxUSE_WEAKREF 1 + // If enabled, compiles wxWidgets streams classes // // wx stream classes are used for image IO, process IO redirection, network diff --git a/include/wx/msw/setup0.h b/include/wx/msw/setup0.h index 81723aace5..d59a717c05 100644 --- a/include/wx/msw/setup0.h +++ b/include/wx/msw/setup0.h @@ -234,6 +234,16 @@ // Recommended setting: 0 unless you do plan to develop MT applications #define wxUSE_THREADS 1 +// Set wxUSE_WEAKREF to 1 t support use of weak references to common classes +// in wxWidgets (wxWeakRef). Set to 0 if your compiler has problems with +// the template-based implementation (Embedded Visual C++ 4 for ARM has a bug +// in this area, Visual C compiler options "/vmm /vmg" may help then). +// +// Default is 1 +// +// Recommended setting: 1 +#define wxUSE_WEAKREF 1 + // If enabled, compiles wxWidgets streams classes // // wx stream classes are used for image IO, process IO redirection, network diff --git a/include/wx/msw/wince/setup.h b/include/wx/msw/wince/setup.h index ff08abc677..7152cc2437 100644 --- a/include/wx/msw/wince/setup.h +++ b/include/wx/msw/wince/setup.h @@ -234,6 +234,16 @@ // Recommended setting: 0 unless you do plan to develop MT applications #define wxUSE_THREADS 1 +// Set wxUSE_WEAKREF to 1 t support use of weak references to common classes +// in wxWidgets (wxWeakRef). Set to 0 if your compiler has problems with +// the template-based implementation (Embedded Visual C++ 4 for ARM has a bug +// in this area, Visual C compiler options "/vmm /vmg" may help then). +// +// Default is 1 +// +// Recommended setting: 1 +#define wxUSE_WEAKREF 1 + // If enabled, compiles wxWidgets streams classes // // wx stream classes are used for image IO, process IO redirection, network diff --git a/include/wx/os2/setup0.h b/include/wx/os2/setup0.h index 63d275f346..3763726239 100644 --- a/include/wx/os2/setup0.h +++ b/include/wx/os2/setup0.h @@ -234,6 +234,16 @@ // Recommended setting: 0 unless you do plan to develop MT applications #define wxUSE_THREADS 1 +// Set wxUSE_WEAKREF to 1 t support use of weak references to common classes +// in wxWidgets (wxWeakRef). Set to 0 if your compiler has problems with +// the template-based implementation (Embedded Visual C++ 4 for ARM has a bug +// in this area, Visual C compiler options "/vmm /vmg" may help then). +// +// Default is 1 +// +// Recommended setting: 1 +#define wxUSE_WEAKREF 1 + // If enabled, compiles wxWidgets streams classes // // wx stream classes are used for image IO, process IO redirection, network diff --git a/include/wx/palmos/setup0.h b/include/wx/palmos/setup0.h index 290ebbe819..312c8c0aaf 100644 --- a/include/wx/palmos/setup0.h +++ b/include/wx/palmos/setup0.h @@ -234,6 +234,16 @@ // Recommended setting: 0 unless you do plan to develop MT applications #define wxUSE_THREADS 1 +// Set wxUSE_WEAKREF to 1 t support use of weak references to common classes +// in wxWidgets (wxWeakRef). Set to 0 if your compiler has problems with +// the template-based implementation (Embedded Visual C++ 4 for ARM has a bug +// in this area, Visual C compiler options "/vmm /vmg" may help then). +// +// Default is 1 +// +// Recommended setting: 1 +#define wxUSE_WEAKREF 1 + // If enabled, compiles wxWidgets streams classes // // wx stream classes are used for image IO, process IO redirection, network diff --git a/include/wx/setup_inc.h b/include/wx/setup_inc.h index 614d3075ee..bf6ff406cc 100644 --- a/include/wx/setup_inc.h +++ b/include/wx/setup_inc.h @@ -230,6 +230,16 @@ // Recommended setting: 0 unless you do plan to develop MT applications #define wxUSE_THREADS 1 +// Set wxUSE_WEAKREF to 1 t support use of weak references to common classes +// in wxWidgets (wxWeakRef). Set to 0 if your compiler has problems with +// the template-based implementation (Embedded Visual C++ 4 for ARM has a bug +// in this area, Visual C compiler options "/vmm /vmg" may help then). +// +// Default is 1 +// +// Recommended setting: 1 +#define wxUSE_WEAKREF 1 + // If enabled, compiles wxWidgets streams classes // // wx stream classes are used for image IO, process IO redirection, network diff --git a/include/wx/univ/setup0.h b/include/wx/univ/setup0.h index 0df4fe7398..56e191740d 100644 --- a/include/wx/univ/setup0.h +++ b/include/wx/univ/setup0.h @@ -233,6 +233,16 @@ // Recommended setting: 0 unless you do plan to develop MT applications #define wxUSE_THREADS 1 +// Set wxUSE_WEAKREF to 1 t support use of weak references to common classes +// in wxWidgets (wxWeakRef). Set to 0 if your compiler has problems with +// the template-based implementation (Embedded Visual C++ 4 for ARM has a bug +// in this area, Visual C compiler options "/vmm /vmg" may help then). +// +// Default is 1 +// +// Recommended setting: 1 +#define wxUSE_WEAKREF 1 + // If enabled, compiles wxWidgets streams classes // // wx stream classes are used for image IO, process IO redirection, network diff --git a/setup.h.in b/setup.h.in index 4082d28d54..5d0746c7d0 100644 --- a/setup.h.in +++ b/setup.h.in @@ -196,6 +196,8 @@ #define wxUSE_THREADS 0 +#define wxUSE_WEAKREF 0 + #define wxUSE_STREAMS 0 #define wxUSE_STD_IOSTREAM 0 diff --git a/src/common/event.cpp b/src/common/event.cpp index d122c8d434..6ba5895089 100644 --- a/src/common/event.cpp +++ b/src/common/event.cpp @@ -1060,6 +1060,7 @@ wxEvtHandler::~wxEvtHandler() { wxDynamicEventTableEntry *entry = (wxDynamicEventTableEntry*)*it; +#if wxUSE_WEAKREF // Remove ourselves from sink destructor notifications // (this has usually been been done, in wxTrackable destructor) wxEvtHandler *eventSink = entry->m_eventSink; @@ -1073,6 +1074,7 @@ wxEvtHandler::~wxEvtHandler() delete evtConnRef; } } +#endif // wxUSE_WEAKREF if (entry->m_callbackUserData) delete entry->m_callbackUserData; @@ -1372,6 +1374,7 @@ void wxEvtHandler::Connect( int id, int lastId, // Insert at the front of the list so most recent additions are found first m_dynamicEvents->Insert( (wxObject*) entry ); +#if wxUSE_WEAKREF // Make sure we get to know when a sink is destroyed if ( eventSink ) { @@ -1381,6 +1384,7 @@ void wxEvtHandler::Connect( int id, int lastId, else evtConnRef = new wxEventConnectionRef(this, eventSink); } +#endif // wxUSE_WEAKREF } bool wxEvtHandler::Disconnect( int id, int lastId, wxEventType eventType, @@ -1391,6 +1395,7 @@ bool wxEvtHandler::Disconnect( int id, int lastId, wxEventType eventType, if (!m_dynamicEvents) return false; +#if wxUSE_WEAKREF // Remove connection from tracker node (wxEventConnectionRef) if ( eventSink ) { @@ -1398,6 +1403,7 @@ bool wxEvtHandler::Disconnect( int id, int lastId, wxEventType eventType, if ( evtConnRef ) evtConnRef->DecRef(); } +#endif // wxUSE_WEAKREF wxList::compatibility_iterator node = m_dynamicEvents->GetFirst(); while (node) @@ -1489,6 +1495,7 @@ void *wxEvtHandler::DoGetClientData() const return m_clientData; } +#if wxUSE_WEAKREF // A helper to find an wxEventConnectionRef object wxEventConnectionRef * wxEvtHandler::FindRefInTrackerList(wxEvtHandler *eventSink) @@ -1528,6 +1535,7 @@ void wxEvtHandler::OnSinkDestroyed( wxEvtHandler *sink ) node = node_nxt; } } +#endif // wxUSE_WEAKREF #endif // wxUSE_BASE -- 2.47.2