Create tag WX_2_9_4

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/tags/WX_2_9_4@71983 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2012-07-09 12:39:37 +00:00
35 changed files with 269 additions and 155 deletions

View File

@@ -2863,9 +2863,61 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION__GUI_HDR = \
wx/gtk1/tglbtn.h \ wx/gtk1/tglbtn.h \
wx/gtk1/treectrl.h wx/gtk1/treectrl.h
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_@GUI_HDR = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION__GUI_HDR) @COND_TOOLKIT_GTK_TOOLKIT_VERSION_@GUI_HDR = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION__GUI_HDR)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@GUI_HDR \ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_GUI_HDR = \
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@ = wx/generic/fontdlgg.h \ wx/generic/fdrepdlg.h \
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@ wx/gtk/gnome/gprint.h wx/generic/filepickerg.h \
wx/generic/listctrl.h \
wx/generic/statusbr.h \
wx/gtk/accel.h \
wx/gtk/anybutton.h \
wx/gtk/bmpbuttn.h \
wx/gtk/button.h \
wx/gtk/checkbox.h \
wx/gtk/checklst.h \
wx/gtk/chkconf.h \
wx/gtk/collpane.h \
wx/gtk/colordlg.h \
wx/gtk/choice.h \
wx/gtk/combobox.h \
wx/gtk/control.h \
wx/gtk/clrpicker.h \
wx/gtk/dialog.h \
wx/gtk/dirdlg.h \
wx/gtk/filectrl.h \
wx/gtk/filedlg.h \
wx/gtk/fontpicker.h \
wx/gtk/filepicker.h \
wx/gtk/fontdlg.h \
wx/gtk/frame.h \
wx/gtk/gauge.h \
wx/gtk/gnome/gvfs.h \
wx/gtk/infobar.h \
wx/gtk/listbox.h \
wx/gtk/mdi.h \
wx/gtk/menu.h \
wx/gtk/menuitem.h \
wx/gtk/msgdlg.h \
wx/gtk/notebook.h \
wx/gtk/print.h \
wx/gtk/radiobox.h \
wx/gtk/radiobut.h \
wx/gtk/scrolbar.h \
wx/gtk/scrolwin.h \
wx/gtk/slider.h \
wx/gtk/spinbutt.h \
wx/gtk/spinctrl.h \
wx/gtk/statbmp.h \
wx/gtk/statbox.h \
wx/gtk/statline.h \
wx/gtk/stattext.h \
wx/gtk/toolbar.h \
wx/gtk/textctrl.h \
wx/gtk/textentry.h \
wx/gtk/tglbtn.h \
wx/gtk/treeentry_gtk.h \
wx/generic/fontdlgg.h \
wx/gtk/gnome/gprint.h
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@GUI_HDR = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_GUI_HDR)
COND_TOOLKIT_GTK_TOOLKIT_VERSION_3_GUI_HDR = \ COND_TOOLKIT_GTK_TOOLKIT_VERSION_3_GUI_HDR = \
wx/generic/fdrepdlg.h \ wx/generic/fdrepdlg.h \
wx/generic/filepickerg.h \ wx/generic/filepickerg.h \

View File

@@ -32,10 +32,12 @@
<set var="ARCH_SUFFIX"> <set var="ARCH_SUFFIX">
<if cond="FORMAT=='msevc4prj'">_$(CPU)</if> <if cond="FORMAT=='msevc4prj'">_$(CPU)</if>
<if cond="TARGET_CPU=='amd64'">_amd64</if> <if cond="TARGET_CPU=='amd64'">_x64</if>
<if cond="TARGET_CPU=='AMD64'">_amd64</if> <if cond="TARGET_CPU=='AMD64'">_x64</if>
<if cond="TARGET_CPU=='ia64'">_ia64</if> <if cond="TARGET_CPU=='ia64'">_ia64</if>
<if cond="TARGET_CPU=='IA64'">_ia64</if> <if cond="TARGET_CPU=='IA64'">_ia64</if>
<if cond="TARGET_CPU=='x64'">_x64</if>
<if cond="TARGET_CPU=='X64'">_x64</if>
</set> </set>
<!-- ================================================================== --> <!-- ================================================================== -->
@@ -318,6 +320,8 @@
<if cond="TARGET_CPU=='AMD64'">/MACHINE:X64</if> <if cond="TARGET_CPU=='AMD64'">/MACHINE:X64</if>
<if cond="TARGET_CPU=='ia64'">/MACHINE:IA64</if> <if cond="TARGET_CPU=='ia64'">/MACHINE:IA64</if>
<if cond="TARGET_CPU=='IA64'">/MACHINE:IA64</if> <if cond="TARGET_CPU=='IA64'">/MACHINE:IA64</if>
<if cond="TARGET_CPU=='x64'">/MACHINE:X64</if>
<if cond="TARGET_CPU=='X64'">/MACHINE:X64</if>
</set> </set>
<template id="common_settings"> <template id="common_settings">

View File

@@ -103,7 +103,8 @@ your environment is set up appropriately with the correct compiler in the
PATH. Rather it affects some options passed to some of the common build PATH. Rather it affects some options passed to some of the common build
utilities such as the resource compiler and the linker. utilities such as the resource compiler and the linker.
Accepted values: AMD64, IA64. Accepted values: IA64, X64
(AMD64 accepted as synonym for X64 but should not be used any more).
</description> </description>
</option> </option>
</if> </if>

View File

@@ -1236,6 +1236,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
wx/gtk/treeentry_gtk.h wx/gtk/treeentry_gtk.h
</set> </set>
<set var="GTK2_HDR" hints="files"> <set var="GTK2_HDR" hints="files">
$(GTK_HDR)
wx/generic/fontdlgg.h wx/generic/fontdlgg.h
wx/gtk/gnome/gprint.h wx/gtk/gnome/gprint.h
</set> </set>

View File

@@ -101,7 +101,7 @@
<set var="WXCPU"> <set var="WXCPU">
<if cond="FORMAT=='msevc4prj'">_$(CPU)</if> <if cond="FORMAT=='msevc4prj'">_$(CPU)</if>
<if cond="FORMAT_SUPPORTS_MULTIPLE_ARCHITECTURES=='1' and TARGET_CPU=='AMD64'">_amd64</if> <if cond="FORMAT_SUPPORTS_MULTIPLE_ARCHITECTURES=='1' and TARGET_CPU=='AMD64'">_x64</if>
<if cond="FORMAT_SUPPORTS_MULTIPLE_ARCHITECTURES=='1' and TARGET_CPU=='IA64'">_ia64</if> <if cond="FORMAT_SUPPORTS_MULTIPLE_ARCHITECTURES=='1' and TARGET_CPU=='IA64'">_ia64</if>
</set> </set>

View File

@@ -52,7 +52,8 @@ BUILD = debug
# PATH. Rather it affects some options passed to some of the common build # PATH. Rather it affects some options passed to some of the common build
# utilities such as the resource compiler and the linker. # utilities such as the resource compiler and the linker.
# #
# Accepted values: AMD64, IA64. # Accepted values: IA64, X64
# (AMD64 accepted as synonym for X64 but should not be used any more).
TARGET_CPU = $(CPU) TARGET_CPU = $(CPU)
# Should debugging info be included in the executables? The default value # Should debugging info be included in the executables? The default value

View File

@@ -1723,17 +1723,23 @@ BUILD_CFG_FILE = $(SETUPHDIR)\build.cfg
### Conditionally set variables: ### ### Conditionally set variables: ###
!if "$(TARGET_CPU)" == "AMD64" !if "$(TARGET_CPU)" == "AMD64"
ARCH_SUFFIX = _amd64 ARCH_SUFFIX = _x64
!endif !endif
!if "$(TARGET_CPU)" == "IA64" !if "$(TARGET_CPU)" == "IA64"
ARCH_SUFFIX = _ia64 ARCH_SUFFIX = _ia64
!endif !endif
!if "$(TARGET_CPU)" == "X64"
ARCH_SUFFIX = _x64
!endif
!if "$(TARGET_CPU)" == "amd64" !if "$(TARGET_CPU)" == "amd64"
ARCH_SUFFIX = _amd64 ARCH_SUFFIX = _x64
!endif !endif
!if "$(TARGET_CPU)" == "ia64" !if "$(TARGET_CPU)" == "ia64"
ARCH_SUFFIX = _ia64 ARCH_SUFFIX = _ia64
!endif !endif
!if "$(TARGET_CPU)" == "x64"
ARCH_SUFFIX = _x64
!endif
!if "$(USE_GUI)" == "0" !if "$(USE_GUI)" == "0"
PORTNAME = base PORTNAME = base
!endif !endif
@@ -1782,12 +1788,18 @@ LINK_TARGET_CPU = /MACHINE:X64
!if "$(TARGET_CPU)" == "IA64" !if "$(TARGET_CPU)" == "IA64"
LINK_TARGET_CPU = /MACHINE:IA64 LINK_TARGET_CPU = /MACHINE:IA64
!endif !endif
!if "$(TARGET_CPU)" == "X64"
LINK_TARGET_CPU = /MACHINE:X64
!endif
!if "$(TARGET_CPU)" == "amd64" !if "$(TARGET_CPU)" == "amd64"
LINK_TARGET_CPU = /MACHINE:X64 LINK_TARGET_CPU = /MACHINE:X64
!endif !endif
!if "$(TARGET_CPU)" == "ia64" !if "$(TARGET_CPU)" == "ia64"
LINK_TARGET_CPU = /MACHINE:IA64 LINK_TARGET_CPU = /MACHINE:IA64
!endif !endif
!if "$(TARGET_CPU)" == "x64"
LINK_TARGET_CPU = /MACHINE:X64
!endif
!if "$(RUNTIME_LIBS)" == "dynamic" !if "$(RUNTIME_LIBS)" == "dynamic"
__RUNTIME_LIBS_10 = D __RUNTIME_LIBS_10 = D
!endif !endif

View File

@@ -513,6 +513,7 @@
AAC2CB4D851230008AE4ABA1 /* dcscreen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22D6E6D9712338C6906CFAA4 /* dcscreen.cpp */; }; AAC2CB4D851230008AE4ABA1 /* dcscreen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22D6E6D9712338C6906CFAA4 /* dcscreen.cpp */; };
AB58406CEBA13BC4A2A83B66 /* printmac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5CC5C13F8AA1387BADB7E60C /* printmac.cpp */; }; AB58406CEBA13BC4A2A83B66 /* printmac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5CC5C13F8AA1387BADB7E60C /* printmac.cpp */; };
ABCD15C4AB37396EA17B7B28 /* translation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6AC666417602346EA583709E /* translation.cpp */; }; ABCD15C4AB37396EA17B7B28 /* translation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6AC666417602346EA583709E /* translation.cpp */; };
AC0B0C52922B30188AE95E94 /* tabart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51054B41BFD83E97BAF76D07 /* tabart.cpp */; };
AC6AC589EFB233C7B65A3224 /* overlaycmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 303ACF199BE431BD891C9301 /* overlaycmn.cpp */; }; AC6AC589EFB233C7B65A3224 /* overlaycmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 303ACF199BE431BD891C9301 /* overlaycmn.cpp */; };
AC91349D7F0E37739B1F5165 /* palette.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BEF6B3FB66243812969E5BD1 /* palette.cpp */; }; AC91349D7F0E37739B1F5165 /* palette.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BEF6B3FB66243812969E5BD1 /* palette.cpp */; };
ACD644CFA85A3B70A3E3B118 /* jcparam.c in Sources */ = {isa = PBXBuildFile; fileRef = 2F41EDEB298538CC86FF6DC1 /* jcparam.c */; }; ACD644CFA85A3B70A3E3B118 /* jcparam.c in Sources */ = {isa = PBXBuildFile; fileRef = 2F41EDEB298538CC86FF6DC1 /* jcparam.c */; };
@@ -1003,6 +1004,7 @@
4FDE5A962FA234FA83A605AD /* Indicator.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Indicator.cxx; path = ../../src/stc/scintilla/src/Indicator.cxx; sourceTree = "<group>"; }; 4FDE5A962FA234FA83A605AD /* Indicator.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Indicator.cxx; path = ../../src/stc/scintilla/src/Indicator.cxx; sourceTree = "<group>"; };
4FE0B33481283D3493613B0F /* config.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = config.cpp; path = ../../src/common/config.cpp; sourceTree = "<group>"; }; 4FE0B33481283D3493613B0F /* config.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = config.cpp; path = ../../src/common/config.cpp; sourceTree = "<group>"; };
508B04B4FF913BECBC9DBFFB /* LexSpecman.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexSpecman.cxx; path = ../../src/stc/scintilla/src/LexSpecman.cxx; sourceTree = "<group>"; }; 508B04B4FF913BECBC9DBFFB /* LexSpecman.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexSpecman.cxx; path = ../../src/stc/scintilla/src/LexSpecman.cxx; sourceTree = "<group>"; };
51054B41BFD83E97BAF76D07 /* tabart.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = tabart.cpp; path = ../../src/aui/tabart.cpp; sourceTree = "<group>"; };
5145561C78303EEE9F827962 /* LexLua.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexLua.cxx; path = ../../src/stc/scintilla/src/LexLua.cxx; sourceTree = "<group>"; }; 5145561C78303EEE9F827962 /* LexLua.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexLua.cxx; path = ../../src/stc/scintilla/src/LexLua.cxx; sourceTree = "<group>"; };
5168ADF7BE39351F8F24E1E6 /* cfstring.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = cfstring.cpp; path = ../../src/osx/core/cfstring.cpp; sourceTree = "<group>"; }; 5168ADF7BE39351F8F24E1E6 /* cfstring.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = cfstring.cpp; path = ../../src/osx/core/cfstring.cpp; sourceTree = "<group>"; };
5190E3E110443FD29F2474FC /* treelist.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = treelist.cpp; path = ../../src/generic/treelist.cpp; sourceTree = "<group>"; }; 5190E3E110443FD29F2474FC /* treelist.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = treelist.cpp; path = ../../src/generic/treelist.cpp; sourceTree = "<group>"; };
@@ -2146,6 +2148,7 @@
A298576700C33F018616E7BD /* auibook.cpp */, A298576700C33F018616E7BD /* auibook.cpp */,
05A4437E9697300390FDE14E /* auibar.cpp */, 05A4437E9697300390FDE14E /* auibar.cpp */,
C0155E0C2F6131358D2DA5ED /* tabmdi.cpp */, C0155E0C2F6131358D2DA5ED /* tabmdi.cpp */,
51054B41BFD83E97BAF76D07 /* tabart.cpp */,
); );
name = src/aui; name = src/aui;
sourceTree = "<group>"; sourceTree = "<group>";
@@ -3455,6 +3458,7 @@
E104017EE1A4357DAF84E1E6 /* auibook.cpp in Sources */, E104017EE1A4357DAF84E1E6 /* auibook.cpp in Sources */,
39CC380F801F3EE984523275 /* auibar.cpp in Sources */, 39CC380F801F3EE984523275 /* auibar.cpp in Sources */,
6C46AF0370793AA0B74A5A4A /* tabmdi.cpp in Sources */, 6C46AF0370793AA0B74A5A4A /* tabmdi.cpp in Sources */,
AC0B0C52922B30188AE95E94 /* tabart.cpp in Sources */,
DE43350F6C9D3148A64F0AF9 /* art_internal.cpp in Sources */, DE43350F6C9D3148A64F0AF9 /* art_internal.cpp in Sources */,
7DC4A542372437ECA0790F87 /* art_msw.cpp in Sources */, 7DC4A542372437ECA0790F87 /* art_msw.cpp in Sources */,
A0BA01A85C303C78A3130711 /* art_aui.cpp in Sources */, A0BA01A85C303C78A3130711 /* art_aui.cpp in Sources */,

View File

@@ -48,18 +48,24 @@ cleanup
git archive --prefix=$prefix/ HEAD | (cd ..; tar x) git archive --prefix=$prefix/ HEAD | (cd ..; tar x)
cd .. cd ..
mv $prefix/include/wx/msw/setup0.h $prefix/include/wx/msw/setup.h # All setup0.h files are supposed to be renamed to just setup.h when checked
# out and in the distribution.
find $prefix/include/wx -type f -name setup0.h | while read f; do
mv $f ${f%0.h}.h
done
tar cjf $prefix.tar.bz2 $prefix tar cjf $prefix.tar.bz2 $prefix
cd $prefix cd $prefix
set +x set +x
for f in `cat ../eol-native`; do for f in `cat ../eol-native`; do
if [ $f == "include/wx/msw/setup0.h" ]; then case $f in
*/setup0.h)
# we renamed this file above so adjust # we renamed this file above so adjust
f="include/wx/msw/setup.h" f=${f%0.h}.h
fi ;;
unix2dos $f esac
unix2dos -q $f
done done
set -x set -x

View File

@@ -10,6 +10,14 @@ INCOMPATIBLE CHANGES SINCE 2.8.x
the "Changes Since wxWidgets 2.8" section of the manual, the "Changes Since wxWidgets 2.8" section of the manual,
please read it if the explanation here is too cryptic. please read it if the explanation here is too cryptic.
Table of contents of this section:
- Unicode-related changes
- wxODBC and contrib libraries removal
- Changes in behaviour not resulting in compilation errors
- Build system changes
- Major new features in this release
Unicode-related changes Unicode-related changes
----------------------- -----------------------
@@ -470,6 +478,20 @@ Changes in behaviour visible to end users
now the control scrolls if too much text is added. now the control scrolls if too much text is added.
Build system changes
--------------------
- In wxMSW makefile builds, "_x64" is used instead of "_amd64" when compiling
for this architecture in the architecture-specific paths and library names.
TARGET_CPU can still be specified as "amd64" for compatibility but "x64"
should be used now.
- Official wxMSW binaries, i.e. those built with OFFICIAL_BUILD=1, built with
MSVC now include the version of the compiler used and the architecture if
it's not the default "x86". E.g. a library built with MSVC 10 for amd64 is
called "wxbase294ud_vc110_amd64.dll" now.
Major new features in this release Major new features in this release
---------------------------------- ----------------------------------
@@ -565,6 +587,7 @@ All (GUI):
- Added wxDataViewListCtrl::GetItemCount() (Kry). - Added wxDataViewListCtrl::GetItemCount() (Kry).
- Added support for Korean Johab and Vietnamese encodings (jank9201). - Added support for Korean Johab and Vietnamese encodings (jank9201).
- Fix off by 1 bug with setting font size in points in wxHTML (gevorg). - Fix off by 1 bug with setting font size in points in wxHTML (gevorg).
- Fix return value of wxGenericListCtrl::InsertColumn() (Sebastian Walderich).
GTK: GTK:

View File

@@ -253,7 +253,7 @@ Using makefiles:
1. Open a 64-bit build command prompt, for either x64 or Itanium. Change 1. Open a 64-bit build command prompt, for either x64 or Itanium. Change
directory to build\msw. Then for x64 type: directory to build\msw. Then for x64 type:
nmake -f makefile.vc TARGET_CPU=AMD64 nmake -f makefile.vc TARGET_CPU=X64
or for Itanium: or for Itanium:
@@ -266,7 +266,7 @@ Using makefiles:
2. Change to the directory of one of the samples such as samples\minimal. Type 2. Change to the directory of one of the samples such as samples\minimal. Type
the same command used to build the main library, for example for x64: the same command used to build the main library, for example for x64:
nmake -f makefile.vc TARGET_CPU=AMD64 nmake -f makefile.vc TARGET_CPU=X64
Notes: Notes:
@@ -277,7 +277,7 @@ additional library to be linked or the following error is received.
If you receive this error add bufferoverflowu.lib to link, e.g.: If you receive this error add bufferoverflowu.lib to link, e.g.:
nmake -f makefile.vc TARGET_CPU=AMD64 LDFLAGS=bufferoverflowu.lib nmake -f makefile.vc TARGET_CPU=X64 LDFLAGS=bufferoverflowu.lib
See http://support.microsoft.com/?id=894573 for more information. See http://support.microsoft.com/?id=894573 for more information.
@@ -710,7 +710,7 @@ DEBUG_INFO=1
omitted or set to 'default' its value is determined the value of omitted or set to 'default' its value is determined the value of
the BUILD option. the BUILD option.
TARGET_CPU=AMD64|IA64 TARGET_CPU=X64|IA64
(VC++ only.) Set this variable to build for x86_64 systems. If unset, x86 (VC++ only.) Set this variable to build for x86_64 systems. If unset, x86
build is performed. build is performed.

35
docs/release_files.mdwn Normal file
View File

@@ -0,0 +1,35 @@
wxWidgets 2.9.4
===============
This directory contains the files for wxWidgets 2.9.4 release.
Please notice that since the 2.9 series only a single source distribution is
provided instead of the multiple distributions containing only the files for
each port as was done before. So you only need to download wxWidgets-2.9.4.zip
(or .7z for much smaller archive size) for Microsoft Windows systems or
wxWidgets-2.9.4.tar.bz2 for Unix ones, including Mac OS X. The only difference
between these files is that the ZIP (and 7z) archives contain files with DOS
line endings while the tar balls contain files with Unix line endings.
Windows users: note that the provided wxWidgets-2.9.4-Setup.exe file installs
the sources for wxMSW and does *not* include wxWidgets binaries and you still
need to build the library, please see `docs/msw/install.txt` for instructions.
Reporting Problems
------------------
Please report any bugs in this release using [our Trac](http://trac.wxwidgets.org/report)
or by posting to [wx-users mailing list](http://groups.google.com/group/wx-users).
Check Sums
----------
To verify your download you can use the following sha1sums:
0b8921c5f115bd335cde24f0cf4f579067815195 wxWidgets-2.9.4.7z
231c3e6b411ab3ab4c787e9bfa2bb5743ea8317d wxWidgets-2.9.4.tar.bz2
2031902d1bd0c69d559e5c98e49fc232cfaba87b wxWidgets-2.9.4.zip
1c46c67f0db0fd89d86ab03f8cd1aa2016dcd95f wxWidgets-docs-html-2.9.4.tar.bz2
e1a8ccc1032df673900e8d9248f32969a0d3ccb5 wxWidgets-docs-html-2.9.4.zip

View File

@@ -11,10 +11,6 @@ Put a date on the release line in docs/changes.txt.
Update the date in the manual (docs/doxygen/mainpages/manual.h). Update the date in the manual (docs/doxygen/mainpages/manual.h).
Mark the milestone corresponding to the previous release as being completed and
create a new version and a new milestone for it in Trac admin web interface
(ask Robin Dunn for password to access it).
Creating release files Creating release files
---------------------- ----------------------
@@ -77,6 +73,9 @@ being "default downloads" for the appropriate platforms (.zip or .exe for MSW,
.tar.bz2 for everything else) as otherwise SourceForge would continue to suggest .tar.bz2 for everything else) as otherwise SourceForge would continue to suggest
people to download old files. people to download old files.
Also upload docs/release_files.mdwn as README.md to display it by default when
its directory is viewed on the web.
Also upload the files to the FTP mirror at ftp.wxwidgets.org (ask Chris for Also upload the files to the FTP mirror at ftp.wxwidgets.org (ask Chris for
access if you don't have it). access if you don't have it).
@@ -100,8 +99,8 @@ Version updates
--------------- ---------------
Trac: mark the milestone corresponding to the release as completed and add a Trac: mark the milestone corresponding to the release as completed and add a
new version for it to allow reporting bugs against it (ask Vadim or Robin to do new version for it to allow reporting bugs against it and create the next
it). milestone (ask Vadim or Robin to do it or to get admin password).
Run misc/scripts/inc_release to increment micro version, i.e. replace x.y.z Run misc/scripts/inc_release to increment micro version, i.e. replace x.y.z
with x.y.z+1 (minor or major versions updates require manual intervention). with x.y.z+1 (minor or major versions updates require manual intervention).

View File

@@ -71,7 +71,7 @@
// architecture-specific part: not used (again, for compatibility), for x86 // architecture-specific part: not used (again, for compatibility), for x86
#if defined(_M_X64) #if defined(_M_X64)
#define wxARCH_SUFFIX _amd64 #define wxARCH_SUFFIX _x64
#elif defined(_M_IA64) #elif defined(_M_IA64)
#define wxARCH_SUFFIX _ia64 #define wxARCH_SUFFIX _ia64
#else // assume _M_IX86 #else // assume _M_IX86

View File

@@ -644,7 +644,7 @@ public:
long FindItem( const wxPoint& pt ); long FindItem( const wxPoint& pt );
long HitTest( int x, int y, int &flags ) const; long HitTest( int x, int y, int &flags ) const;
void InsertItem( wxListItem &item ); void InsertItem( wxListItem &item );
void InsertColumn( long col, const wxListItem &item ); long InsertColumn( long col, const wxListItem &item );
int GetItemWidthWithImage(wxListItem * item); int GetItemWidthWithImage(wxListItem * item);
void SortItems( wxListCtrlCompare fn, wxIntPtr data ); void SortItems( wxListCtrlCompare fn, wxIntPtr data );

View File

@@ -88,10 +88,6 @@ protected:
wxBookCtrlEvent* CreatePageChangingEvent() const; wxBookCtrlEvent* CreatePageChangingEvent() const;
void MakeChangedEvent(wxBookCtrlEvent &event); void MakeChangedEvent(wxBookCtrlEvent &event);
// get flags for different list control modes
long GetListCtrlIconViewFlags() const;
long GetListCtrlReportViewFlags() const;
// event handlers // event handlers
void OnListSelected(wxListEvent& event); void OnListSelected(wxListEvent& event);
void OnSize(wxSizeEvent& event); void OnSize(wxSizeEvent& event);

View File

@@ -43,10 +43,6 @@ public:
// returns true if the platform should explicitly apply a theme border // returns true if the platform should explicitly apply a theme border
virtual bool CanApplyThemeBorder() const { return false; } virtual bool CanApplyThemeBorder() const { return false; }
virtual wxPoint GetClientAreaOrigin() const;
virtual void DoGetClientSize(int *width, int *height) const;
protected: protected:
virtual wxSize DoGetBestSize() const; virtual wxSize DoGetBestSize() const;

View File

@@ -3613,7 +3613,9 @@ public:
/** /**
Copy constructor. Copy constructor.
*/ */
wxRichTextFieldType(const wxRichTextFieldType& fieldType) { Copy(fieldType); } wxRichTextFieldType(const wxRichTextFieldType& fieldType)
: wxObject(fieldType)
{ Copy(fieldType); }
void Copy(const wxRichTextFieldType& fieldType) { m_name = fieldType.m_name; } void Copy(const wxRichTextFieldType& fieldType) { m_name = fieldType.m_name; }
@@ -3766,7 +3768,9 @@ public:
The copy constructor. The copy constructor.
*/ */
wxRichTextFieldTypeStandard(const wxRichTextFieldTypeStandard& field) { Copy(field); } wxRichTextFieldTypeStandard(const wxRichTextFieldTypeStandard& field)
: wxRichTextFieldType(field)
{ Copy(field); }
/** /**
Initialises the object. Initialises the object.

View File

@@ -23,7 +23,7 @@
dialog) under MSW. dialog) under MSW.
@style{wxALIGN_LEFT} @style{wxALIGN_LEFT}
Same as wxTE_LEFT for wxTextCtrl: the text is left aligned. Same as wxTE_LEFT for wxTextCtrl: the text is left aligned.
@style{wxALIGN_CENTRE} @style{wxALIGN_CENTRE_HORIZONTAL}
Same as wxTE_CENTRE for wxTextCtrl: the text is centered. Same as wxTE_CENTRE for wxTextCtrl: the text is centered.
@style{wxALIGN_RIGHT} @style{wxALIGN_RIGHT}
Same as wxTE_RIGHT for wxTextCtrl: the text is right aligned (this is Same as wxTE_RIGHT for wxTextCtrl: the text is right aligned (this is

View File

@@ -25,14 +25,14 @@
Align the text to the left. Align the text to the left.
@style{wxALIGN_RIGHT} @style{wxALIGN_RIGHT}
Align the text to the right. Align the text to the right.
@style{wxALIGN_CENTRE} @style{wxALIGN_CENTRE_HORIZONTAL}
Center the text (horizontally). Center the text (horizontally).
@style{wxST_NO_AUTORESIZE} @style{wxST_NO_AUTORESIZE}
By default, the control will adjust its size to exactly fit to the By default, the control will adjust its size to exactly fit to the
size of the text when SetLabel() is called. If this style flag is size of the text when SetLabel() is called. If this style flag is
given, the control will not change its size (this style is given, the control will not change its size (this style is
especially useful with controls which also have the @c wxALIGN_RIGHT or especially useful with controls which also have the @c wxALIGN_RIGHT or
the @c wxALIGN_CENTRE style because otherwise they won't make sense any the @c wxALIGN_CENTRE_HORIZONTAL style because otherwise they won't make sense any
longer after a call to SetLabel()). longer after a call to SetLabel()).
@style{wxST_ELLIPSIZE_START} @style{wxST_ELLIPSIZE_START}
If the labeltext width exceeds the control width, replace the beginning If the labeltext width exceeds the control width, replace the beginning

View File

@@ -292,9 +292,9 @@ int ReadTGA(wxImage* image, wxInputStream& stream)
case 1: case 1:
{ {
unsigned char r; unsigned char r = 0;
unsigned char g; unsigned char g = 0;
unsigned char b; unsigned char b = 0;
// No compression read the data directly to imageData. // No compression read the data directly to imageData.
@@ -486,9 +486,9 @@ int ReadTGA(wxImage* image, wxInputStream& stream)
case 9: case 9:
{ {
unsigned char r; unsigned char r = 0;
unsigned char g; unsigned char g = 0;
unsigned char b; unsigned char b = 0;
// Decode the RLE data. // Decode the RLE data.

View File

@@ -292,8 +292,6 @@ wxLongLong wxGetUTCTimeUSec()
// Get local time as milliseconds since 00:00:00, Jan 1st 1970 // Get local time as milliseconds since 00:00:00, Jan 1st 1970
wxLongLong wxGetUTCTimeMillis() wxLongLong wxGetUTCTimeMillis()
{ {
wxLongLong val = MILLISECONDS_PER_SECOND;
// If possible, use a function which avoids conversions from // If possible, use a function which avoids conversions from
// broken-up time structures to milliseconds // broken-up time structures to milliseconds
#if defined(__WINDOWS__) #if defined(__WINDOWS__)
@@ -306,7 +304,10 @@ wxLongLong wxGetUTCTimeMillis()
t /= 10000; t /= 10000;
t -= wxLL(11644473600000); // Unix - Windows epochs difference in ms. t -= wxLL(11644473600000); // Unix - Windows epochs difference in ms.
return t; return t;
#elif defined(HAVE_GETTIMEOFDAY) #else // !__WINDOWS__
wxLongLong val = MILLISECONDS_PER_SECOND;
#if defined(HAVE_GETTIMEOFDAY)
struct timeval tp; struct timeval tp;
if ( wxGetTimeOfDay(&tp) != -1 ) if ( wxGetTimeOfDay(&tp) != -1 )
{ {
@@ -342,6 +343,8 @@ wxLongLong wxGetUTCTimeMillis()
val *= wxGetUTCTime(); val *= wxGetUTCTime();
return val; return val;
#endif // time functions #endif // time functions
#endif // __WINDOWS__/!__WINDOWS__
} }
wxLongLong wxGetLocalTimeMillis() wxLongLong wxGetLocalTimeMillis()

View File

@@ -38,24 +38,6 @@
#include "wx/sysopt.h" #include "wx/sysopt.h"
namespace
{
// FIXME: This function exists because native OS X wxListCtrl seems to have
// problems with report view, either imperfect display or reported hanging, so
// disable it for now (but it should be fixed, and this function removed).
bool CanUseReportView()
{
#if defined(__WXMAC__) && !defined(__WXUNIVERSAL__) && wxOSX_USE_CARBON
if (wxSystemOptions::GetOptionInt(wxMAC_ALWAYS_USE_GENERIC_LISTCTRL) == 0)
return false;
else
#endif
return true;
}
} // anonymous namespace
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// various wxWidgets macros // various wxWidgets macros
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@@ -118,13 +100,10 @@ wxListbook::Create(wxWindow *parent,
wxDefaultPosition, wxDefaultPosition,
wxDefaultSize, wxDefaultSize,
wxLC_SINGLE_SEL | wxLC_SINGLE_SEL |
(CanUseReportView() ? GetListCtrlReportViewFlags() (IsVertical() ? wxLC_ALIGN_LEFT : wxLC_ALIGN_TOP) |
: GetListCtrlIconViewFlags()) wxLC_LIST
); );
if ( CanUseReportView() )
GetListView()->InsertColumn(0, wxT("Pages"));
#ifdef __WXMSW__ #ifdef __WXMSW__
// On XP with themes enabled the GetViewRect used in GetControllerSize() to // On XP with themes enabled the GetViewRect used in GetControllerSize() to
// determine the space needed for the list view will incorrectly return // determine the space needed for the list view will incorrectly return
@@ -138,20 +117,6 @@ wxListbook::Create(wxWindow *parent,
return true; return true;
} }
// ----------------------------------------------------------------------------
// wxListCtrl flags
// ----------------------------------------------------------------------------
long wxListbook::GetListCtrlIconViewFlags() const
{
return (IsVertical() ? wxLC_ALIGN_LEFT : wxLC_ALIGN_TOP) | wxLC_ICON;
}
long wxListbook::GetListCtrlReportViewFlags() const
{
return wxLC_REPORT | wxLC_NO_HEADER;
}
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// wxListbook geometry management // wxListbook geometry management
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@@ -258,31 +223,27 @@ bool wxListbook::SetPageImage(size_t n, int imageId)
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
void wxListbook::SetImageList(wxImageList *imageList) void wxListbook::SetImageList(wxImageList *imageList)
{
if ( CanUseReportView() )
{ {
wxListView * const list = GetListView(); wxListView * const list = GetListView();
// If imageList presence has changed, we update the list control view // If imageList presence has changed, we update the list control style
if ( (imageList != NULL) != (GetImageList() != NULL) ) if ( (imageList != NULL) != (GetImageList() != NULL) )
{ {
// Preserve the selection which is lost when changing the mode // Preserve the selection which is lost when changing the mode
const int oldSel = GetSelection(); const int oldSel = GetSelection();
// Update the style to use icon view for images, report view otherwise // Update the style to use icon view for images, list view otherwise
long style = wxLC_SINGLE_SEL; long style = list->GetWindowStyle() & ~wxLC_MASK_TYPE;
if ( imageList ) if ( imageList )
{ {
style |= GetListCtrlIconViewFlags(); style |= wxLC_ICON;
} }
else // no image list else // no image list
{ {
style |= GetListCtrlReportViewFlags(); style |= wxLC_LIST;
} }
list->SetWindowStyleFlag(style); list->SetWindowStyleFlag(style);
if ( !imageList )
list->InsertColumn(0, wxT("Pages"));
// Restore selection // Restore selection
if ( oldSel != wxNOT_FOUND ) if ( oldSel != wxNOT_FOUND )
@@ -290,7 +251,6 @@ void wxListbook::SetImageList(wxImageList *imageList)
} }
list->SetImageList(imageList, wxIMAGE_LIST_NORMAL); list->SetImageList(imageList, wxIMAGE_LIST_NORMAL);
}
wxBookCtrlBase::SetImageList(imageList); wxBookCtrlBase::SetImageList(imageList);
} }

View File

@@ -4125,8 +4125,10 @@ void wxListMainWindow::InsertItem( wxListItem &item )
RefreshLines(id, GetItemCount() - 1); RefreshLines(id, GetItemCount() - 1);
} }
void wxListMainWindow::InsertColumn( long col, const wxListItem &item ) long wxListMainWindow::InsertColumn( long col, const wxListItem &item )
{ {
long idx = -1;
m_dirty = true; m_dirty = true;
if ( InReportView() ) if ( InReportView() )
{ {
@@ -4143,9 +4145,11 @@ void wxListMainWindow::InsertColumn( long col, const wxListItem &item )
node = m_columns.Item( col ); node = m_columns.Item( col );
m_columns.Insert( node, column ); m_columns.Insert( node, column );
m_aColWidths.Insert( colWidthInfo, col ); m_aColWidths.Insert( colWidthInfo, col );
idx = col;
} }
else else
{ {
idx = m_aColWidths.GetCount();
m_columns.Append( column ); m_columns.Append( column );
m_aColWidths.Add( colWidthInfo ); m_aColWidths.Add( colWidthInfo );
} }
@@ -4167,6 +4171,7 @@ void wxListMainWindow::InsertColumn( long col, const wxListItem &item )
// invalidate it as it has to be recalculated // invalidate it as it has to be recalculated
m_headerWidth = 0; m_headerWidth = 0;
} }
return idx;
} }
int wxListMainWindow::GetItemWidthWithImage(wxListItem * item) int wxListMainWindow::GetItemWidthWithImage(wxListItem * item)
@@ -4947,14 +4952,14 @@ long wxGenericListCtrl::DoInsertColumn( long col, const wxListItem &item )
{ {
wxCHECK_MSG( InReportView(), -1, wxT("can't add column in non report mode") ); wxCHECK_MSG( InReportView(), -1, wxT("can't add column in non report mode") );
m_mainWin->InsertColumn( col, item ); long idx = m_mainWin->InsertColumn( col, item );
// NOTE: if wxLC_NO_HEADER was given, then we are in report view mode but // NOTE: if wxLC_NO_HEADER was given, then we are in report view mode but
// still have m_headerWin==NULL // still have m_headerWin==NULL
if (m_headerWin) if (m_headerWin)
m_headerWin->Refresh(); m_headerWin->Refresh();
return 0; return idx;
} }
bool wxGenericListCtrl::ScrollList( int dx, int dy ) bool wxGenericListCtrl::ScrollList( int dx, int dy )

View File

@@ -136,7 +136,7 @@ void wxFSWatcherImplMSW::SendEvent(wxFileSystemWatcherEvent& evt)
bool wxFSWatcherImplMSW::DoSetUpWatch(wxFSWatchEntryMSW& watch) bool wxFSWatcherImplMSW::DoSetUpWatch(wxFSWatchEntryMSW& watch)
{ {
BOOL bWatchSubtree wxDUMMY_INITIALIZE(FALSE); BOOL bWatchSubtree = FALSE;
switch ( watch.GetType() ) switch ( watch.GetType() )
{ {

View File

@@ -543,26 +543,4 @@ void wxStaticBox::OnPaint(wxPaintEvent& WXUNUSED(event))
#endif // !__WXWINCE__ #endif // !__WXWINCE__
wxPoint wxStaticBox::GetClientAreaOrigin() const
{
// See: http://msdn.microsoft.com/en-us/library/aa511279.aspx
wxPoint pt = ConvertDialogToPixels(wxPoint(6,11));
return pt;
}
void wxStaticBox::DoGetClientSize(int *width, int *height) const
{
// See: http://msdn.microsoft.com/en-us/library/aa511279.aspx
wxPoint lr = ConvertDialogToPixels(wxPoint(6,7));
wxPoint ul = GetClientAreaOrigin();
wxSize sz = GetSize();
if (width)
*width = sz.x - ul.x - lr.x;
if (height)
*height = sz.y - ul.y - lr.x;
}
#endif // wxUSE_STATBOX #endif // wxUSE_STATBOX

View File

@@ -2925,10 +2925,7 @@ wxTreeCtrl::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam)
// click if needed // click if needed
if ( processed ) if ( processed )
{ {
int htFlags = 0; if ( tvht.flags & TVHT_ONITEMSTATEICON )
wxTreeItemId item = HitTest(wxPoint(x, y), htFlags);
if ( htFlags & wxTREE_HITTEST_ONITEMSTATEICON )
{ {
m_triggerStateImageClick = true; m_triggerStateImageClick = true;
} }

View File

@@ -102,7 +102,7 @@ private:
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]; NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
[paragraphStyle setLineBreakMode:m_lineBreak]; [paragraphStyle setLineBreakMode:m_lineBreak];
int style = GetWXPeer()->GetWindowStyleFlag(); int style = GetWXPeer()->GetWindowStyleFlag();
if (style & wxALIGN_CENTER) if (style & wxALIGN_CENTER_HORIZONTAL)
[paragraphStyle setAlignment: NSCenterTextAlignment]; [paragraphStyle setAlignment: NSCenterTextAlignment];
else if (style & wxALIGN_RIGHT) else if (style & wxALIGN_RIGHT)
[paragraphStyle setAlignment: NSRightTextAlignment]; [paragraphStyle setAlignment: NSRightTextAlignment];

View File

@@ -923,6 +923,7 @@ wxWidgetImplType* wxWidgetImpl::CreateTextControl( wxTextCtrl* wxpeer,
wxNSTextScrollView* v = nil; wxNSTextScrollView* v = nil;
v = [[wxNSTextScrollView alloc] initWithFrame:r]; v = [[wxNSTextScrollView alloc] initWithFrame:r];
c = new wxNSTextViewControl( wxpeer, v ); c = new wxNSTextViewControl( wxpeer, v );
c->SetNeedsFocusRect( true );
} }
else else
{ {
@@ -932,10 +933,13 @@ wxWidgetImplType* wxWidgetImpl::CreateTextControl( wxTextCtrl* wxpeer,
else else
v = [[wxNSTextField alloc] initWithFrame:r]; v = [[wxNSTextField alloc] initWithFrame:r];
if ( style & wxNO_BORDER ) if ( style & wxTE_RIGHT)
{ {
// FIXME: How can we remove the native control's border? [v setAlignment:NSRightTextAlignment];
// setBordered is separate from the text ctrl's border. }
else if ( style & wxTE_CENTRE)
{
[v setAlignment:NSCenterTextAlignment];
} }
NSTextFieldCell* cell = [v cell]; NSTextFieldCell* cell = [v cell];
@@ -944,12 +948,24 @@ wxWidgetImplType* wxWidgetImpl::CreateTextControl( wxTextCtrl* wxpeer,
// as setting scrolling to yes, should turn off any wrapping // as setting scrolling to yes, should turn off any wrapping
// [cell setLineBreakMode:NSLineBreakByClipping]; // [cell setLineBreakMode:NSLineBreakByClipping];
c = new wxNSTextFieldControl( wxpeer, wxpeer, v );
if ( (style & wxNO_BORDER) || (style & wxSIMPLE_BORDER) )
{
// under 10.7 the textcontrol can draw its own focus
// even if no border is shown, on previous systems
// we have to emulate this
[v setBezeled:NO]; [v setBezeled:NO];
[v setBordered:NO]; [v setBordered:NO];
if ( UMAGetSystemVersion() < 0x1070 )
c = new wxNSTextFieldControl( wxpeer, wxpeer, v );
}
c->SetNeedsFocusRect( true ); c->SetNeedsFocusRect( true );
}
else
{
// use native border
c->SetNeedsFrame(false);
}
}
return c; return c;
} }

View File

@@ -674,6 +674,7 @@ bool wxUITextFieldControl::SetHint(const wxString& hint)
{ {
wxCFStringRef hintstring(hint); wxCFStringRef hintstring(hint);
[m_textField setPlaceholder:hintstring.AsNSString()]; [m_textField setPlaceholder:hintstring.AsNSString()];
return true;
} }
#endif #endif

View File

@@ -249,6 +249,7 @@ bool wxToolBar::Create(
SetPeer(new wxWidgetIPhoneImpl( this, toolbar )); SetPeer(new wxWidgetIPhoneImpl( this, toolbar ));
MacPostControlCreate(pos, size) ; MacPostControlCreate(pos, size) ;
return true;
} }
wxToolBar::~wxToolBar() wxToolBar::~wxToolBar()

View File

@@ -561,10 +561,22 @@ void wxWidgetIPhoneImpl::GetBestRect( wxRect *r ) const
bool wxWidgetIPhoneImpl::IsEnabled() const bool wxWidgetIPhoneImpl::IsEnabled() const
{ {
UIView* targetView = m_osxView;
// TODO add support for documentViews
if ( [targetView respondsToSelector:@selector(isEnabled) ] )
return [targetView isEnabled];
return true;
} }
void wxWidgetIPhoneImpl::Enable( bool enable ) void wxWidgetIPhoneImpl::Enable( bool enable )
{ {
UIView* targetView = m_osxView;
// TODO add support for documentViews
if ( [targetView respondsToSelector:@selector(setEnabled:) ] )
[targetView setEnabled:enable];
} }
void wxWidgetIPhoneImpl::SetMinimum( wxInt32 v ) void wxWidgetIPhoneImpl::SetMinimum( wxInt32 v )
@@ -577,10 +589,12 @@ void wxWidgetIPhoneImpl::SetMaximum( wxInt32 v )
wxInt32 wxWidgetIPhoneImpl::GetMinimum() const wxInt32 wxWidgetIPhoneImpl::GetMinimum() const
{ {
return 0;
} }
wxInt32 wxWidgetIPhoneImpl::GetMaximum() const wxInt32 wxWidgetIPhoneImpl::GetMaximum() const
{ {
return 0;
} }
void wxWidgetIPhoneImpl::PulseGauge() void wxWidgetIPhoneImpl::PulseGauge()

View File

@@ -5553,12 +5553,14 @@ void wxPropertyGrid::HandleKeyEvent( wxKeyEvent &event, bool fromChild )
if ( keycode == WXK_TAB ) if ( keycode == WXK_TAB )
{ {
#if defined(__WXGTK__)
wxWindow* mainControl; wxWindow* mainControl;
if ( HasInternalFlag(wxPG_FL_IN_MANAGER) ) if ( HasInternalFlag(wxPG_FL_IN_MANAGER) )
mainControl = GetParent(); mainControl = GetParent();
else else
mainControl = this; mainControl = this;
#endif
if ( !event.ShiftDown() ) if ( !event.ShiftDown() )
{ {

View File

@@ -3896,7 +3896,7 @@ bool wxRichTextCtrl::LayoutContent(bool onlyVisibleRect)
GetBuffer().Layout(dc, context, availableSpace, availableSpace, flags); GetBuffer().Layout(dc, context, availableSpace, availableSpace, flags);
GetBuffer().Invalidate(wxRICHTEXT_NONE); GetBuffer().Invalidate(wxRICHTEXT_NONE);
if (!IsFrozen()) if (!IsFrozen() && !onlyVisibleRect)
SetupScrollbars(); SetupScrollbars();
} }

View File

@@ -344,9 +344,12 @@ protected:
wxString mask = (inevt.mask & IN_ISDIR) ? wxString mask = (inevt.mask & IN_ISDIR) ?
wxString::Format("IS_DIR | %u", inevt.mask & ~IN_ISDIR) : wxString::Format("IS_DIR | %u", inevt.mask & ~IN_ISDIR) :
wxString::Format("%u", inevt.mask); wxString::Format("%u", inevt.mask);
const char* name = "";
if (inevt.len)
name = inevt.name;
return wxString::Format("Event: wd=%d, mask=%s, cookie=%u, len=%u, " return wxString::Format("Event: wd=%d, mask=%s, cookie=%u, len=%u, "
"name=%s", inevt.wd, mask, inevt.cookie, "name=%s", inevt.wd, mask, inevt.cookie,
inevt.len, inevt.name); inevt.len, name);
} }
static wxFileName GetEventPath(const wxFSWatchEntry& watch, static wxFileName GetEventPath(const wxFSWatchEntry& watch,
@@ -354,7 +357,7 @@ protected:
{ {
// only when dir is watched, we have non-empty e.name // only when dir is watched, we have non-empty e.name
wxFileName path = watch.GetPath(); wxFileName path = watch.GetPath();
if (path.IsDir()) if (path.IsDir() && inevt.len)
{ {
path = wxFileName(path.GetPath(), inevt.name); path = wxFileName(path.GetPath(), inevt.name);
} }