]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/tech/tn0020.txt
- Main change is the addition of wxGridSelectRowsOrColumns selection mode
[wxWidgets.git] / docs / tech / tn0020.txt
index d351b4e349e2608c3996d82ec60d5847c6b415f3..7abe7576f8f461e85f29890dae593c1f8b7f2f20 100644 (file)
@@ -3,7 +3,7 @@
 0. Purpose
 ----------
 
-This is broad technote covering all aspects of binary compatibility with 
+This is broad technote covering all aspects of binary compatibility with 
 wxWidgets.
 
 1. Releases
@@ -46,8 +46,14 @@ The changes that are NOT binary compatible:
 even a default one)
 - Changing the order of the virtual functions in a class
 ["switching" them, etc.]
-- Changing access privileges to a function (protected to private etc.)
-[unlike KDE we need to support windows so this is not allowed]
+- Changing access privileges of a function: some compilers (among which MSVC)
+  use the function access specifier in its mangled name. Moreover, while
+  changing a private function to public should be compatible (as the old
+  symbol can't be referenced from outside the library anyhow), changing a
+  virtual private function to public is NOT compatible because the old symbol
+  is referenced by the virtual tables in the executable code and so an old
+  program compiled with MSVC wouldn't start up with a new DLL even if it
+  doesn't use the affected symbol at all!
 - Adding a member variable
 - Changing the order of non-static member variables