diff -u -r gtkmathview-0.8.0/auto/Char.hh gtkmathview-0.8.0-patched/auto/Char.hh --- gtkmathview-0.8.0/auto/Char.hh 2007-10-15 09:07:25.000000000 +0200 +++ gtkmathview-0.8.0-patched/auto/Char.hh 2009-07-03 17:21:16.000000000 +0200 @@ -40,7 +40,7 @@ #if 2 == 1 typedef char Char16; #define CHAR16 1 -#elif 2 == 4 +#elif 2 == 2 typedef wchar_t Char16; #else #if 2 == 2 @@ -57,7 +57,7 @@ #if 4 == 1 typedef char Char32; #define CHAR32 1 -#elif 4 == 4 +#elif 4 == 2 typedef wchar_t Char32; #else #if 4 == 4 Only in gtkmathview-0.8.0-patched: config.h Only in gtkmathview-0.8.0-patched: config.h.msvc diff -u -r gtkmathview-0.8.0/src/backend/common/CachedShapedString.hh gtkmathview-0.8.0-patched/src/backend/common/CachedShapedString.hh --- gtkmathview-0.8.0/src/backend/common/CachedShapedString.hh 2007-08-17 12:02:44.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/backend/common/CachedShapedString.hh 2009-07-11 16:20:10.000000000 +0200 @@ -30,6 +30,23 @@ bool operator==(const CachedShapedStringKey& key) const { return source == key.source && variant == key.variant && size == key.size; } +#ifdef _MSC_VER + bool operator<(const CachedShapedStringKey& key) const + { + if (source < key.source) + return true; + if (source > key.source) + return false; + + if (variant < key.variant) + return true; + if (variant > key.variant) + return false; + + return size < key.size; + } +#endif + String source; MathVariant variant; scaled size; @@ -37,8 +54,22 @@ struct GMV_MathView_EXPORT CachedShapedStringKeyHash { +#ifdef _MSC_VER + static const size_t bucket_size = 4; + static const size_t min_buckets = 8; +#endif + size_t operator()(const CachedShapedStringKey& key) const { return StringHash()(key.source) ^ key.variant ^ key.size.getValue(); } + + bool operator()(const CachedShapedStringKey& key1, const CachedShapedStringKey& key2) const + { +#ifdef _MSC_VER + return key1 < key2; +#else + return key1 == key2; +#endif + } }; struct GMV_MathView_EXPORT CachedShapedStretchyStringKey : public CachedShapedStringKey diff -u -r gtkmathview-0.8.0/src/backend/common/CombinedGlyphArea.cc gtkmathview-0.8.0-patched/src/backend/common/CombinedGlyphArea.cc --- gtkmathview-0.8.0/src/backend/common/CombinedGlyphArea.cc 2007-08-17 12:02:44.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/backend/common/CombinedGlyphArea.cc 2009-06-18 15:13:30.000000000 +0200 @@ -84,7 +84,8 @@ CombinedGlyphArea::node(AreaIndex) const { // cannot have children - assert(false); + assert(false); + return AreaRef(); } void @@ -99,6 +100,7 @@ { // cannot have children assert(false); + return 0; } bool diff -u -r gtkmathview-0.8.0/src/backend/common/ComputerModernFamily.cc gtkmathview-0.8.0-patched/src/backend/common/ComputerModernFamily.cc --- gtkmathview-0.8.0/src/backend/common/ComputerModernFamily.cc 2007-08-17 12:02:44.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/backend/common/ComputerModernFamily.cc 2009-06-18 15:51:28.000000000 +0200 @@ -24,6 +24,7 @@ #include "Configuration.hh" #include "ComputerModernFamily.hh" +#include ComputerModernFamily::ComputerModernFamily(const SmartPtr&, const SmartPtr& conf) { diff -u -r gtkmathview-0.8.0/src/backend/common/FormattingContext.cc gtkmathview-0.8.0-patched/src/backend/common/FormattingContext.cc --- gtkmathview-0.8.0/src/backend/common/FormattingContext.cc 2007-08-17 12:02:44.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/backend/common/FormattingContext.cc 2009-06-18 15:11:32.000000000 +0200 @@ -21,9 +21,11 @@ #include #include "MathMLElement.hh" +#ifdef GMV_ENABLE_BOXML #include "BoxMLElement.hh" -#include "MathGraphicDevice.hh" #include "BoxGraphicDevice.hh" +#endif +#include "MathGraphicDevice.hh" #include "FormattingContext.hh" #include diff -u -r gtkmathview-0.8.0/src/backend/common/FormattingContext.hh gtkmathview-0.8.0-patched/src/backend/common/FormattingContext.hh --- gtkmathview-0.8.0/src/backend/common/FormattingContext.hh 2007-08-17 12:02:44.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/backend/common/FormattingContext.hh 2009-06-18 15:14:40.000000000 +0200 @@ -26,6 +26,7 @@ // full path needed for Win32 #include "../../common/mathvariants/MathVariant.hh" #include "FastScopedHashMap.hh" +#include "MathGraphicDevice.hh" class GMV_MathView_EXPORT FormattingContext { diff -u -r gtkmathview-0.8.0/src/backend/common/GlyphWrapperArea.cc gtkmathview-0.8.0-patched/src/backend/common/GlyphWrapperArea.cc --- gtkmathview-0.8.0/src/backend/common/GlyphWrapperArea.cc 2007-08-17 12:02:44.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/backend/common/GlyphWrapperArea.cc 2009-06-18 15:14:00.000000000 +0200 @@ -25,11 +25,17 @@ AreaRef GlyphWrapperArea::node(AreaIndex) const -{ assert(false); } +{ + assert(false); + return AreaRef(); +} CharIndex GlyphWrapperArea::lengthTo(AreaIndex) const -{ assert(false); } +{ + assert(false); + return 0; +} void GlyphWrapperArea::origin(AreaIndex, Point&) const diff -u -r gtkmathview-0.8.0/src/backend/common/GraphicDevice.hh gtkmathview-0.8.0-patched/src/backend/common/GraphicDevice.hh --- gtkmathview-0.8.0/src/backend/common/GraphicDevice.hh 2007-08-17 12:02:44.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/backend/common/GraphicDevice.hh 2009-06-18 15:55:54.000000000 +0200 @@ -23,6 +23,7 @@ #include "Length.hh" #include "scaled.hh" #include "AreaFactory.hh" +#include "ShaperManager.hh" class GMV_MathView_EXPORT GraphicDevice : public Object { diff -u -r gtkmathview-0.8.0/src/backend/common/MathGraphicDevice.cc gtkmathview-0.8.0-patched/src/backend/common/MathGraphicDevice.cc --- gtkmathview-0.8.0/src/backend/common/MathGraphicDevice.cc 2007-10-15 09:04:19.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/backend/common/MathGraphicDevice.cc 2009-06-18 17:33:08.000000000 +0200 @@ -188,6 +188,7 @@ unsigned long index) const { assert(false); + return AreaRef(); } AreaRef Only in gtkmathview-0.8.0-patched/src/backend/common: RenderingContext.cc diff -u -r gtkmathview-0.8.0/src/backend/common/ShaperManager.hh gtkmathview-0.8.0-patched/src/backend/common/ShaperManager.hh --- gtkmathview-0.8.0/src/backend/common/ShaperManager.hh 2007-10-15 09:04:19.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/backend/common/ShaperManager.hh 2009-06-18 16:05:34.000000000 +0200 @@ -26,6 +26,8 @@ #include "Area.hh" #include "Object.hh" #include "SmartPtr.hh" +#include "Shaper.hh" +#include "AbstractLogger.hh" class GMV_MathView_EXPORT ShaperManager : public Object { diff -u -r gtkmathview-0.8.0/src/backend/common/ShapingContext.hh gtkmathview-0.8.0-patched/src/backend/common/ShapingContext.hh --- gtkmathview-0.8.0/src/backend/common/ShapingContext.hh 2007-08-17 12:02:44.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/backend/common/ShapingContext.hh 2009-06-18 20:08:58.000000000 +0200 @@ -25,6 +25,7 @@ #include "GlyphSpec.hh" #include "Area.hh" #include "MathVariant.hh" +#include "Element.hh" class GMV_MathView_EXPORT ShapingContext { diff -u -r gtkmathview-0.8.0/src/backend/common/SimpleArea.cc gtkmathview-0.8.0-patched/src/backend/common/SimpleArea.cc --- gtkmathview-0.8.0/src/backend/common/SimpleArea.cc 2007-08-17 12:02:44.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/backend/common/SimpleArea.cc 2009-06-18 15:08:48.000000000 +0200 @@ -55,6 +55,7 @@ { // A leaf area cannot have children assert(false); + return AreaRef(); } void @@ -69,4 +70,5 @@ { // A leaf area cannot have children assert(false); + return 0; } diff -u -r gtkmathview-0.8.0/src/common/AbstractLogger.cc gtkmathview-0.8.0-patched/src/common/AbstractLogger.cc --- gtkmathview-0.8.0/src/common/AbstractLogger.cc 2007-08-17 12:02:45.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/common/AbstractLogger.cc 2009-06-18 15:56:30.000000000 +0200 @@ -22,6 +22,10 @@ #include "AbstractLogger.hh" +#ifdef _MSC_VER +#define snprintf _snprintf +#endif + AbstractLogger::AbstractLogger() : logLevel(LOG_WARNING) { } diff -u -r gtkmathview-0.8.0/src/common/Configuration.cc gtkmathview-0.8.0-patched/src/common/Configuration.cc --- gtkmathview-0.8.0/src/common/Configuration.cc 2007-08-17 12:02:45.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/common/Configuration.cc 2009-06-18 17:26:04.000000000 +0200 @@ -21,6 +21,7 @@ #include "AbstractLogger.hh" #include "Configuration.hh" #include "TemplateStringParsers.hh" +#include std::vector Configuration::configurationPaths; diff -u -r gtkmathview-0.8.0/src/common/Configuration.hh gtkmathview-0.8.0-patched/src/common/Configuration.hh --- gtkmathview-0.8.0/src/common/Configuration.hh 2007-08-17 12:02:45.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/common/Configuration.hh 2009-06-18 17:00:36.000000000 +0200 @@ -79,7 +79,7 @@ private: static std::vector configurationPaths; - typedef HASH_MAP_NS::hash_map, StringHash, StringEq> Map; + typedef HASH_MAP_NS::hash_map, StringHashCompare> Map; Map map; }; diff -u -r gtkmathview-0.8.0/src/common/fixed.hh gtkmathview-0.8.0-patched/src/common/fixed.hh --- gtkmathview-0.8.0/src/common/fixed.hh 2007-08-17 12:02:45.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/common/fixed.hh 2009-06-18 20:04:34.000000000 +0200 @@ -23,8 +23,13 @@ #include "gmv_defines.h" +#ifdef _MSC_VER +#undef min +#undef max +#endif + template::digits / 2> -GMV_MathView_EXPORT class fixed +class GMV_MathView_EXPORT fixed { public: fixed(void) : value(0) { } diff -u -r gtkmathview-0.8.0/src/common/gmv_defines.h gtkmathview-0.8.0-patched/src/common/gmv_defines.h --- gtkmathview-0.8.0/src/common/gmv_defines.h 2007-08-17 12:02:45.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/common/gmv_defines.h 2009-07-03 17:01:06.000000000 +0200 @@ -20,7 +20,7 @@ #ifndef __gmv_defines_h__ #define __gmv_defines_h__ -#if defined(WIN32) +#if defined(_MSC_VER) && !defined(GMV_STATIC) /* src/Makefile.am:lib_LTLIBRARIES = libmathview.la @@ -100,6 +100,6 @@ #define GMV_FrontEnd_EXPORT #define GMV_Widget_EXPORT -#endif /* WIN32 */ +#endif /* defined(_MSC_VER) && !defined(GMV_STATIC) */ #endif /* __gmv_defines_h__ */ diff -u -r gtkmathview-0.8.0/src/common/HashMap.hh gtkmathview-0.8.0-patched/src/common/HashMap.hh --- gtkmathview-0.8.0/src/common/HashMap.hh 2007-08-17 12:02:45.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/common/HashMap.hh 2009-06-18 15:35:18.000000000 +0200 @@ -19,6 +19,10 @@ #ifndef __HashMap_hh__ #define __HashMap_hh__ +#ifdef _MSC_VER +#include +#define HASH_MAP_NS stdext +#else // !!! BEGIN WARNING: hash_map is not part of the STL !!! #if defined(GMV_HAVE_EXT_HASH_MAP) #include @@ -30,5 +34,6 @@ #error "no implementation of hash_map could be found" #endif // !!! END WARNING: hash_map is not part of the STL !!! +#endif #endif // __HashMap_hh__ diff -u -r gtkmathview-0.8.0/src/common/Length.hh gtkmathview-0.8.0-patched/src/common/Length.hh --- gtkmathview-0.8.0/src/common/Length.hh 2007-08-17 12:02:45.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/common/Length.hh 2009-06-18 16:16:38.000000000 +0200 @@ -21,8 +21,9 @@ #include "gmv_defines.h" -struct GMV_MathView_EXPORT Length +class GMV_MathView_EXPORT Length { +public: enum Unit { UNDEFINED_UNIT, PURE_UNIT, diff -u -r gtkmathview-0.8.0/src/common/Logger.cc gtkmathview-0.8.0-patched/src/common/Logger.cc --- gtkmathview-0.8.0/src/common/Logger.cc 2007-08-17 12:02:45.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/common/Logger.cc 2009-07-12 15:27:48.000000000 +0200 @@ -21,10 +21,17 @@ #include #include "Logger.hh" +#include + void Logger::outString(const String& s) const { - std::cerr << s << std::endl; +#ifdef _MSC_VER + OutputDebugStringA(s.c_str()); + OutputDebugStringA("\n"); +#else + std::cout << s << std::endl; +#endif } diff -u -r gtkmathview-0.8.0/src/common/mathvariants/bold.cc gtkmathview-0.8.0-patched/src/common/mathvariants/bold.cc --- gtkmathview-0.8.0/src/common/mathvariants/bold.cc 2007-10-15 09:41:29.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/common/mathvariants/bold.cc 2009-06-18 16:49:06.000000000 +0200 @@ -157,15 +157,15 @@ map_variant_bold (Char32 ch) { - if (ch >= 0x0030 and ch <= 0x0039) return table[ch - 0x0030].variant; - if (ch >= 0x0041 and ch <= 0x005A) return table[ch - 0x0037].variant; - if (ch >= 0x0061 and ch <= 0x007A) return table[ch - 0x003D].variant; - if (ch >= 0x0391 and ch <= 0x03A1) return table[ch - 0x0353].variant; - if (ch >= 0x03A3 and ch <= 0x03A9) return table[ch - 0x0354].variant; - if (ch >= 0x03B1 and ch <= 0x03C9) return table[ch - 0x035B].variant; + if (ch >= 0x0030 && ch <= 0x0039) return table[ch - 0x0030].variant; + if (ch >= 0x0041 && ch <= 0x005A) return table[ch - 0x0037].variant; + if (ch >= 0x0061 && ch <= 0x007A) return table[ch - 0x003D].variant; + if (ch >= 0x0391 && ch <= 0x03A1) return table[ch - 0x0353].variant; + if (ch >= 0x03A3 && ch <= 0x03A9) return table[ch - 0x0354].variant; + if (ch >= 0x03B1 && ch <= 0x03C9) return table[ch - 0x035B].variant; if (ch == 0x03D1) return 0x1D6DD; - if (ch >= 0x03D5 and ch <= 0x03D6) return table[ch - 0x0365].variant; - if (ch >= 0x03F0 and ch <= 0x03F1) return table[ch - 0x037E].variant; + if (ch >= 0x03D5 && ch <= 0x03D6) return table[ch - 0x0365].variant; + if (ch >= 0x03F0 && ch <= 0x03F1) return table[ch - 0x037E].variant; if (ch == 0x03F4) return 0x1D6B9; if (ch == 0x2202) return 0x1D6DB; if (ch == 0x2207) return 0x1D6C1; diff -u -r gtkmathview-0.8.0/src/common/mathvariants/bold-fraktur.cc gtkmathview-0.8.0-patched/src/common/mathvariants/bold-fraktur.cc --- gtkmathview-0.8.0/src/common/mathvariants/bold-fraktur.cc 2007-10-15 09:41:27.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/common/mathvariants/bold-fraktur.cc 2009-06-18 16:48:38.000000000 +0200 @@ -89,7 +89,7 @@ map_variant_bold_fraktur (Char32 ch) { - if (ch >= 0x0041 and ch <= 0x005A) return table[ch - 0x0041].variant; - if (ch >= 0x0061 and ch <= 0x007A) return table[ch - 0x0047].variant; + if (ch >= 0x0041 && ch <= 0x005A) return table[ch - 0x0041].variant; + if (ch >= 0x0061 && ch <= 0x007A) return table[ch - 0x0047].variant; return ch; } diff -u -r gtkmathview-0.8.0/src/common/mathvariants/bold-italic.cc gtkmathview-0.8.0-patched/src/common/mathvariants/bold-italic.cc --- gtkmathview-0.8.0/src/common/mathvariants/bold-italic.cc 2007-10-15 09:41:27.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/common/mathvariants/bold-italic.cc 2009-06-18 16:48:46.000000000 +0200 @@ -147,14 +147,14 @@ map_variant_bold_italic (Char32 ch) { - if (ch >= 0x0041 and ch <= 0x005A) return table[ch - 0x0041].variant; - if (ch >= 0x0061 and ch <= 0x007A) return table[ch - 0x0047].variant; - if (ch >= 0x0391 and ch <= 0x03A1) return table[ch - 0x035D].variant; - if (ch >= 0x03A3 and ch <= 0x03A9) return table[ch - 0x035E].variant; - if (ch >= 0x03B1 and ch <= 0x03C9) return table[ch - 0x0365].variant; + if (ch >= 0x0041 && ch <= 0x005A) return table[ch - 0x0041].variant; + if (ch >= 0x0061 && ch <= 0x007A) return table[ch - 0x0047].variant; + if (ch >= 0x0391 && ch <= 0x03A1) return table[ch - 0x035D].variant; + if (ch >= 0x03A3 && ch <= 0x03A9) return table[ch - 0x035E].variant; + if (ch >= 0x03B1 && ch <= 0x03C9) return table[ch - 0x0365].variant; if (ch == 0x03D1) return 0x1D751; - if (ch >= 0x03D5 and ch <= 0x03D6) return table[ch - 0x036F].variant; - if (ch >= 0x03F0 and ch <= 0x03F1) return table[ch - 0x0388].variant; + if (ch >= 0x03D5 && ch <= 0x03D6) return table[ch - 0x036F].variant; + if (ch >= 0x03F0 && ch <= 0x03F1) return table[ch - 0x0388].variant; if (ch == 0x03F4) return 0x1D72D; if (ch == 0x2202) return 0x1D74F; if (ch == 0x2207) return 0x1D735; diff -u -r gtkmathview-0.8.0/src/common/mathvariants/bold-sans-serif.cc gtkmathview-0.8.0-patched/src/common/mathvariants/bold-sans-serif.cc --- gtkmathview-0.8.0/src/common/mathvariants/bold-sans-serif.cc 2007-10-15 09:41:27.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/common/mathvariants/bold-sans-serif.cc 2009-06-18 16:48:56.000000000 +0200 @@ -157,15 +157,15 @@ map_variant_bold_sans_serif (Char32 ch) { - if (ch >= 0x0030 and ch <= 0x0039) return table[ch - 0x0030].variant; - if (ch >= 0x0041 and ch <= 0x005A) return table[ch - 0x0037].variant; - if (ch >= 0x0061 and ch <= 0x007A) return table[ch - 0x003D].variant; - if (ch >= 0x0391 and ch <= 0x03A1) return table[ch - 0x0353].variant; - if (ch >= 0x03A3 and ch <= 0x03A9) return table[ch - 0x0354].variant; - if (ch >= 0x03B1 and ch <= 0x03C9) return table[ch - 0x035B].variant; + if (ch >= 0x0030 && ch <= 0x0039) return table[ch - 0x0030].variant; + if (ch >= 0x0041 && ch <= 0x005A) return table[ch - 0x0037].variant; + if (ch >= 0x0061 && ch <= 0x007A) return table[ch - 0x003D].variant; + if (ch >= 0x0391 && ch <= 0x03A1) return table[ch - 0x0353].variant; + if (ch >= 0x03A3 && ch <= 0x03A9) return table[ch - 0x0354].variant; + if (ch >= 0x03B1 && ch <= 0x03C9) return table[ch - 0x035B].variant; if (ch == 0x03D1) return 0x1D78B; - if (ch >= 0x03D5 and ch <= 0x03D6) return table[ch - 0x0365].variant; - if (ch >= 0x03F0 and ch <= 0x03F1) return table[ch - 0x037E].variant; + if (ch >= 0x03D5 && ch <= 0x03D6) return table[ch - 0x0365].variant; + if (ch >= 0x03F0 && ch <= 0x03F1) return table[ch - 0x037E].variant; if (ch == 0x03F4) return 0x1D767; if (ch == 0x2202) return 0x1D789; if (ch == 0x2207) return 0x1D76F; diff -u -r gtkmathview-0.8.0/src/common/mathvariants/bold-script.cc gtkmathview-0.8.0-patched/src/common/mathvariants/bold-script.cc --- gtkmathview-0.8.0/src/common/mathvariants/bold-script.cc 2007-10-15 09:41:28.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/common/mathvariants/bold-script.cc 2009-06-18 16:48:32.000000000 +0200 @@ -89,7 +89,7 @@ map_variant_bold_script (Char32 ch) { - if (ch >= 0x0041 and ch <= 0x005A) return table[ch - 0x0041].variant; - if (ch >= 0x0061 and ch <= 0x007A) return table[ch - 0x0047].variant; + if (ch >= 0x0041 && ch <= 0x005A) return table[ch - 0x0041].variant; + if (ch >= 0x0061 && ch <= 0x007A) return table[ch - 0x0047].variant; return ch; } diff -u -r gtkmathview-0.8.0/src/common/mathvariants/double-struck.cc gtkmathview-0.8.0-patched/src/common/mathvariants/double-struck.cc --- gtkmathview-0.8.0/src/common/mathvariants/double-struck.cc 2007-10-15 09:41:29.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/common/mathvariants/double-struck.cc 2009-06-18 16:48:28.000000000 +0200 @@ -99,8 +99,8 @@ map_variant_double_struck (Char32 ch) { - if (ch >= 0x0030 and ch <= 0x0039) return table[ch - 0x0030].variant; - if (ch >= 0x0041 and ch <= 0x005A) return table[ch - 0x0037].variant; - if (ch >= 0x0061 and ch <= 0x007A) return table[ch - 0x003D].variant; + if (ch >= 0x0030 && ch <= 0x0039) return table[ch - 0x0030].variant; + if (ch >= 0x0041 && ch <= 0x005A) return table[ch - 0x0037].variant; + if (ch >= 0x0061 && ch <= 0x007A) return table[ch - 0x003D].variant; return ch; } diff -u -r gtkmathview-0.8.0/src/common/mathvariants/extract.xsl gtkmathview-0.8.0-patched/src/common/mathvariants/extract.xsl --- gtkmathview-0.8.0/src/common/mathvariants/extract.xsl 2007-04-25 10:14:45.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/common/mathvariants/extract.xsl 2009-06-18 16:45:46.000000000 +0200 @@ -45,7 +45,7 @@ if (i0 == i) printf(" if (ch == 0x%04X) return 0x%04X;\n", table[i].normal, table[i].variant); else - printf(" if (ch >= 0x%04X and ch <= 0x%04X) return table[ch - 0x%04X].variant;\n", table[i0].normal, table[i].normal, table[i0].normal - i0); + printf(" if (ch >= 0x%04X && ch <= 0x%04X) return table[ch - 0x%04X].variant;\n", table[i0].normal, table[i].normal, table[i0].normal - i0); i++; } Only in gtkmathview-0.8.0-patched/src/common/mathvariants: extract.xsl~ diff -u -r gtkmathview-0.8.0/src/common/mathvariants/fraktur.cc gtkmathview-0.8.0-patched/src/common/mathvariants/fraktur.cc --- gtkmathview-0.8.0/src/common/mathvariants/fraktur.cc 2007-10-15 09:41:30.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/common/mathvariants/fraktur.cc 2009-06-18 16:48:22.000000000 +0200 @@ -89,7 +89,7 @@ map_variant_fraktur (Char32 ch) { - if (ch >= 0x0041 and ch <= 0x005A) return table[ch - 0x0041].variant; - if (ch >= 0x0061 and ch <= 0x007A) return table[ch - 0x0047].variant; + if (ch >= 0x0041 && ch <= 0x005A) return table[ch - 0x0041].variant; + if (ch >= 0x0061 && ch <= 0x007A) return table[ch - 0x0047].variant; return ch; } diff -u -r gtkmathview-0.8.0/src/common/mathvariants/italic.cc gtkmathview-0.8.0-patched/src/common/mathvariants/italic.cc --- gtkmathview-0.8.0/src/common/mathvariants/italic.cc 2007-10-15 09:41:31.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/common/mathvariants/italic.cc 2009-06-18 16:46:00.000000000 +0200 @@ -149,16 +149,16 @@ map_variant_italic (Char32 ch) { - if (ch >= 0x0041 and ch <= 0x005A) return table[ch - 0x0041].variant; - if (ch >= 0x0061 and ch <= 0x007A) return table[ch - 0x0047].variant; + if (ch >= 0x0041 && ch <= 0x005A) return table[ch - 0x0041].variant; + if (ch >= 0x0061 && ch <= 0x007A) return table[ch - 0x0047].variant; if (ch == 0x0131) return 0x1D6A4; if (ch == 0x0237) return 0x1D6A5; - if (ch >= 0x0391 and ch <= 0x03A1) return table[ch - 0x035B].variant; - if (ch >= 0x03A3 and ch <= 0x03A9) return table[ch - 0x035C].variant; - if (ch >= 0x03B1 and ch <= 0x03C9) return table[ch - 0x0363].variant; + if (ch >= 0x0391 && ch <= 0x03A1) return table[ch - 0x035B].variant; + if (ch >= 0x03A3 && ch <= 0x03A9) return table[ch - 0x035C].variant; + if (ch >= 0x03B1 && ch <= 0x03C9) return table[ch - 0x0363].variant; if (ch == 0x03D1) return 0x1D717; - if (ch >= 0x03D5 and ch <= 0x03D6) return table[ch - 0x036D].variant; - if (ch >= 0x03F0 and ch <= 0x03F1) return table[ch - 0x0386].variant; + if (ch >= 0x03D5 && ch <= 0x03D6) return table[ch - 0x036D].variant; + if (ch >= 0x03F0 && ch <= 0x03F1) return table[ch - 0x0386].variant; if (ch == 0x03F4) return 0x1D6F3; if (ch == 0x2202) return 0x1D715; if (ch == 0x2207) return 0x1D6FB; diff -u -r gtkmathview-0.8.0/src/common/mathvariants/monospace.cc gtkmathview-0.8.0-patched/src/common/mathvariants/monospace.cc --- gtkmathview-0.8.0/src/common/mathvariants/monospace.cc 2007-10-15 09:41:31.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/common/mathvariants/monospace.cc 2009-06-18 16:46:04.000000000 +0200 @@ -99,8 +99,8 @@ map_variant_monospace (Char32 ch) { - if (ch >= 0x0030 and ch <= 0x0039) return table[ch - 0x0030].variant; - if (ch >= 0x0041 and ch <= 0x005A) return table[ch - 0x0037].variant; - if (ch >= 0x0061 and ch <= 0x007A) return table[ch - 0x003D].variant; + if (ch >= 0x0030 && ch <= 0x0039) return table[ch - 0x0030].variant; + if (ch >= 0x0041 && ch <= 0x005A) return table[ch - 0x0037].variant; + if (ch >= 0x0061 && ch <= 0x007A) return table[ch - 0x003D].variant; return ch; } diff -u -r gtkmathview-0.8.0/src/common/mathvariants/sans-serif-bold-italic.cc gtkmathview-0.8.0-patched/src/common/mathvariants/sans-serif-bold-italic.cc --- gtkmathview-0.8.0/src/common/mathvariants/sans-serif-bold-italic.cc 2007-10-15 09:41:32.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/common/mathvariants/sans-serif-bold-italic.cc 2009-06-18 16:46:16.000000000 +0200 @@ -147,14 +147,14 @@ map_variant_sans_serif_bold_italic (Char32 ch) { - if (ch >= 0x0041 and ch <= 0x005A) return table[ch - 0x0041].variant; - if (ch >= 0x0061 and ch <= 0x007A) return table[ch - 0x0047].variant; - if (ch >= 0x0391 and ch <= 0x03A1) return table[ch - 0x035D].variant; - if (ch >= 0x03A3 and ch <= 0x03A9) return table[ch - 0x035E].variant; - if (ch >= 0x03B1 and ch <= 0x03C9) return table[ch - 0x0365].variant; + if (ch >= 0x0041 && ch <= 0x005A) return table[ch - 0x0041].variant; + if (ch >= 0x0061 && ch <= 0x007A) return table[ch - 0x0047].variant; + if (ch >= 0x0391 && ch <= 0x03A1) return table[ch - 0x035D].variant; + if (ch >= 0x03A3 && ch <= 0x03A9) return table[ch - 0x035E].variant; + if (ch >= 0x03B1 && ch <= 0x03C9) return table[ch - 0x0365].variant; if (ch == 0x03D1) return 0x1D7C5; - if (ch >= 0x03D5 and ch <= 0x03D6) return table[ch - 0x036F].variant; - if (ch >= 0x03F0 and ch <= 0x03F1) return table[ch - 0x0388].variant; + if (ch >= 0x03D5 && ch <= 0x03D6) return table[ch - 0x036F].variant; + if (ch >= 0x03F0 && ch <= 0x03F1) return table[ch - 0x0388].variant; if (ch == 0x03F4) return 0x1D7A1; if (ch == 0x2202) return 0x1D7C3; if (ch == 0x2207) return 0x1D7A9; diff -u -r gtkmathview-0.8.0/src/common/mathvariants/sans-serif.cc gtkmathview-0.8.0-patched/src/common/mathvariants/sans-serif.cc --- gtkmathview-0.8.0/src/common/mathvariants/sans-serif.cc 2007-10-15 09:41:33.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/common/mathvariants/sans-serif.cc 2009-06-18 16:46:08.000000000 +0200 @@ -99,8 +99,8 @@ map_variant_sans_serif (Char32 ch) { - if (ch >= 0x0030 and ch <= 0x0039) return table[ch - 0x0030].variant; - if (ch >= 0x0041 and ch <= 0x005A) return table[ch - 0x0037].variant; - if (ch >= 0x0061 and ch <= 0x007A) return table[ch - 0x003D].variant; + if (ch >= 0x0030 && ch <= 0x0039) return table[ch - 0x0030].variant; + if (ch >= 0x0041 && ch <= 0x005A) return table[ch - 0x0037].variant; + if (ch >= 0x0061 && ch <= 0x007A) return table[ch - 0x003D].variant; return ch; } diff -u -r gtkmathview-0.8.0/src/common/mathvariants/sans-serif-italic.cc gtkmathview-0.8.0-patched/src/common/mathvariants/sans-serif-italic.cc --- gtkmathview-0.8.0/src/common/mathvariants/sans-serif-italic.cc 2007-10-15 09:41:32.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/common/mathvariants/sans-serif-italic.cc 2009-06-18 16:46:20.000000000 +0200 @@ -89,7 +89,7 @@ map_variant_sans_serif_italic (Char32 ch) { - if (ch >= 0x0041 and ch <= 0x005A) return table[ch - 0x0041].variant; - if (ch >= 0x0061 and ch <= 0x007A) return table[ch - 0x0047].variant; + if (ch >= 0x0041 && ch <= 0x005A) return table[ch - 0x0041].variant; + if (ch >= 0x0061 && ch <= 0x007A) return table[ch - 0x0047].variant; return ch; } diff -u -r gtkmathview-0.8.0/src/common/mathvariants/script.cc gtkmathview-0.8.0-patched/src/common/mathvariants/script.cc --- gtkmathview-0.8.0/src/common/mathvariants/script.cc 2007-10-15 09:41:34.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/common/mathvariants/script.cc 2009-06-18 16:49:52.000000000 +0200 @@ -89,7 +89,7 @@ map_variant_script (Char32 ch) { - if (ch >= 0x0041 and ch <= 0x005A) return table[ch - 0x0041].variant; - if (ch >= 0x0061 and ch <= 0x007A) return table[ch - 0x0047].variant; + if (ch >= 0x0041 && ch <= 0x005A) return table[ch - 0x0041].variant; + if (ch >= 0x0061 && ch <= 0x007A) return table[ch - 0x0047].variant; return ch; } diff -u -r gtkmathview-0.8.0/src/common/Point.hh gtkmathview-0.8.0-patched/src/common/Point.hh --- gtkmathview-0.8.0/src/common/Point.hh 2007-08-17 12:02:45.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/common/Point.hh 2009-06-18 15:07:34.000000000 +0200 @@ -21,8 +21,9 @@ #include "scaled.hh" -struct GMV_MathView_EXPORT Point +class GMV_MathView_EXPORT Point { +public: Point(void) : x(scaled::zero()), y(scaled::zero()) { } Point(const scaled& x0, const scaled& y0) : x(x0), y(y0) { } diff -u -r gtkmathview-0.8.0/src/common/SmartPtr.hh gtkmathview-0.8.0-patched/src/common/SmartPtr.hh --- gtkmathview-0.8.0/src/common/SmartPtr.hh 2007-08-17 12:02:45.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/common/SmartPtr.hh 2009-07-03 17:46:14.000000000 +0200 @@ -23,7 +23,7 @@ #include "gmv_defines.h" template -class GMV_MathView_EXPORT SmartPtr +class SmartPtr { public: SmartPtr(P* p = 0) : ptr(p) { if (ptr) ptr->ref(); } diff -u -r gtkmathview-0.8.0/src/common/StringHash.hh gtkmathview-0.8.0-patched/src/common/StringHash.hh --- gtkmathview-0.8.0/src/common/StringHash.hh 2007-08-17 12:02:45.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/common/StringHash.hh 2009-07-11 16:14:22.000000000 +0200 @@ -34,4 +34,28 @@ { return s1 == s2; } }; +#ifdef _MSC_VER + + class GMV_MathView_EXPORT StringHashCompare + { + public: + static const size_t bucket_size = 4; + static const size_t min_buckets = 8; + + size_t operator()(const String& s) const + { return sh(s); } + + bool operator()(const String& s1, const String& s2) const + { return s1 < s2; } + + private: + StringHash sh; + }; + +#else + +#define StringHashCompare StringHash, StringEq + +#endif + #endif // __StringHash_hh__ diff -u -r gtkmathview-0.8.0/src/common/TemplateStringParsers.hh gtkmathview-0.8.0-patched/src/common/TemplateStringParsers.hh --- gtkmathview-0.8.0/src/common/TemplateStringParsers.hh 2007-08-17 12:02:45.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/common/TemplateStringParsers.hh 2009-06-18 16:07:30.000000000 +0200 @@ -40,6 +40,7 @@ std::vector< SmartPtr >&) { assert(false); + return false; } }; diff -u -r gtkmathview-0.8.0/src/common/TemplateStringScanners.hh gtkmathview-0.8.0-patched/src/common/TemplateStringScanners.hh --- gtkmathview-0.8.0/src/common/TemplateStringScanners.hh 2007-08-17 12:02:45.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/common/TemplateStringScanners.hh 2009-06-18 16:07:52.000000000 +0200 @@ -333,6 +333,7 @@ 16 * hexOfChar(*(begin + 7)) + hexOfChar(*(begin + 8))); default: assert(false); + return RGBColor(0, 0, 0); } } }; diff -u -r gtkmathview-0.8.0/src/common/token.cc gtkmathview-0.8.0-patched/src/common/token.cc --- gtkmathview-0.8.0/src/common/token.cc 2007-08-17 12:02:45.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/common/token.cc 2009-06-18 17:28:48.000000000 +0200 @@ -36,7 +36,7 @@ { T__NOTVALID, 0 } }; -typedef HASH_MAP_NS::hash_map Map; +typedef HASH_MAP_NS::hash_map Map; static Map map; TokenId diff -u -r gtkmathview-0.8.0/src/engine/common/Adapters.hh gtkmathview-0.8.0-patched/src/engine/common/Adapters.hh --- gtkmathview-0.8.0/src/engine/common/Adapters.hh 2007-08-17 12:02:39.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/engine/common/Adapters.hh 2009-06-18 16:08:30.000000000 +0200 @@ -68,7 +68,7 @@ : public std::unary_function { bool operator()(const TPtr& elem) const - { return elem; } + { return elem != NULL; } }; #endif // __Adapters_hh__ diff -u -r gtkmathview-0.8.0/src/engine/common/AttributeSignature.hh gtkmathview-0.8.0-patched/src/engine/common/AttributeSignature.hh --- gtkmathview-0.8.0/src/engine/common/AttributeSignature.hh 2007-08-17 12:02:39.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/engine/common/AttributeSignature.hh 2009-06-18 15:09:22.000000000 +0200 @@ -27,8 +27,9 @@ const UCS4String::const_iterator&, UCS4String::const_iterator&); -struct GMV_MathView_EXPORT AttributeSignature +class GMV_MathView_EXPORT AttributeSignature { +public: String name; String fullName; AttributeParser parser; diff -u -r gtkmathview-0.8.0/src/engine/common/Element.hh gtkmathview-0.8.0-patched/src/engine/common/Element.hh --- gtkmathview-0.8.0/src/engine/common/Element.hh 2007-08-17 12:02:39.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/engine/common/Element.hh 2009-06-18 15:55:22.000000000 +0200 @@ -24,6 +24,9 @@ #include "Node.hh" #include "WeakPtr.hh" #include "Area.hh" +#include "AttributeSet.hh" +#include "NamespaceContext.hh" +#include "AbstractLogger.hh" class GMV_MathView_EXPORT Element : public Node { diff -u -r gtkmathview-0.8.0/src/engine/common/View.hh gtkmathview-0.8.0-patched/src/engine/common/View.hh --- gtkmathview-0.8.0/src/engine/common/View.hh 2007-08-17 12:02:39.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/engine/common/View.hh 2009-06-18 20:11:32.000000000 +0200 @@ -25,6 +25,9 @@ #include "BoundingBox.hh" // Area.hh moved down here for Win32 build #include "Area.hh" +#include "MathMLOperatorDictionary.hh" +#include "Builder.hh" +#include "Element.hh" class GMV_MathView_EXPORT View : public Object { diff -u -r gtkmathview-0.8.0/src/engine/mathml/MathMLElement.hh gtkmathview-0.8.0-patched/src/engine/mathml/MathMLElement.hh --- gtkmathview-0.8.0/src/engine/mathml/MathMLElement.hh 2007-08-17 12:02:38.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/engine/mathml/MathMLElement.hh 2009-06-18 15:58:10.000000000 +0200 @@ -21,6 +21,7 @@ #include "Area.hh" #include "Element.hh" +#include "MathMLNamespaceContext.hh" // MathMLElement: base class for every MathML Element class GMV_MathView_EXPORT MathMLElement : public Element diff -u -r gtkmathview-0.8.0/src/engine/mathml/MathMLEmbellishment.hh gtkmathview-0.8.0-patched/src/engine/mathml/MathMLEmbellishment.hh --- gtkmathview-0.8.0/src/engine/mathml/MathMLEmbellishment.hh 2007-08-17 12:02:38.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/engine/mathml/MathMLEmbellishment.hh 2009-06-18 16:01:50.000000000 +0200 @@ -21,7 +21,7 @@ #include "Area.hh" -class MathMLEmbellishment +class GMV_MathView_EXPORT MathMLEmbellishment { protected: MathMLEmbellishment(void) { }; diff -u -r gtkmathview-0.8.0/src/engine/mathml/MathMLNamespaceContext.hh gtkmathview-0.8.0-patched/src/engine/mathml/MathMLNamespaceContext.hh --- gtkmathview-0.8.0/src/engine/mathml/MathMLNamespaceContext.hh 2007-08-17 12:02:38.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/engine/mathml/MathMLNamespaceContext.hh 2009-06-18 16:03:04.000000000 +0200 @@ -20,6 +20,7 @@ #define __MathMLNamespaceContext_hh__ #include "NamespaceContext.hh" +#include "MathGraphicDevice.hh" class GMV_MathView_EXPORT MathMLNamespaceContext : public NamespaceContext { diff -u -r gtkmathview-0.8.0/src/engine/mathml/MathMLOperatorDictionary.hh gtkmathview-0.8.0-patched/src/engine/mathml/MathMLOperatorDictionary.hh --- gtkmathview-0.8.0/src/engine/mathml/MathMLOperatorDictionary.hh 2007-08-17 12:02:38.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/engine/mathml/MathMLOperatorDictionary.hh 2009-06-18 19:52:26.000000000 +0200 @@ -24,6 +24,7 @@ #include "StringHash.hh" #include "HashMap.hh" #include "Object.hh" +#include "AttributeSet.hh" class GMV_MathView_EXPORT MathMLOperatorDictionary : public Object { @@ -51,7 +52,7 @@ SmartPtr postfix; }; - typedef HASH_MAP_NS::hash_map Dictionary; + typedef HASH_MAP_NS::hash_map Dictionary; Dictionary items; }; diff -u -r gtkmathview-0.8.0/src/engine/mathml/MathMLValueConversion.cc gtkmathview-0.8.0-patched/src/engine/mathml/MathMLValueConversion.cc --- gtkmathview-0.8.0/src/engine/mathml/MathMLValueConversion.cc 2007-08-17 12:02:38.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/engine/mathml/MathMLValueConversion.cc 2009-06-18 16:48:00.000000000 +0200 @@ -44,7 +44,9 @@ case T_SANS_SERIF_ITALIC: return SANS_SERIF_ITALIC_VARIANT; case T_SANS_SERIF_BOLD_ITALIC: return SANS_SERIF_BOLD_ITALIC_VARIANT; case T_MONOSPACE: return MONOSPACE_VARIANT; - default: assert(false); + default: + assert(false); + return NORMAL_VARIANT; } } diff -u -r gtkmathview-0.8.0/src/frontend/common/Builder.hh gtkmathview-0.8.0-patched/src/frontend/common/Builder.hh --- gtkmathview-0.8.0/src/frontend/common/Builder.hh 2007-08-17 12:02:34.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/frontend/common/Builder.hh 2009-06-18 19:42:26.000000000 +0200 @@ -21,6 +21,7 @@ #include "Object.hh" #include "SmartPtr.hh" +#include "MathMLNamespaceContext.hh" class GMV_MathView_EXPORT Builder : public Object { diff -u -r gtkmathview-0.8.0/src/frontend/common/TemplateBuilder.hh gtkmathview-0.8.0-patched/src/frontend/common/TemplateBuilder.hh --- gtkmathview-0.8.0/src/frontend/common/TemplateBuilder.hh 2007-08-17 12:02:34.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/frontend/common/TemplateBuilder.hh 2009-07-10 17:28:02.000000000 +0200 @@ -51,9 +51,11 @@ return elem; else { + { SmartPtr elem = ElementBuilder::type::create(ElementBuilder::getContext(*this)); linkerAdd(el, elem); return elem; + } } } @@ -1469,16 +1471,16 @@ private: #if ENABLE_BUILDER_CACHE - typedef HASH_MAP_NS::hash_map, StringHash, StringEq> MathMLTextNodeCache; + typedef HASH_MAP_NS::hash_map, StringHashCompare> MathMLTextNodeCache; mutable MathMLTextNodeCache mathmlTextNodeCache; #endif // ENABLE_BUILDER_CACHE typedef SmartPtr (TemplateBuilder::* MathMLUpdateMethod)(const typename Model::Element&) const; - typedef HASH_MAP_NS::hash_map MathMLBuilderMap; + typedef HASH_MAP_NS::hash_map MathMLBuilderMap; static MathMLBuilderMap mathmlMap; static bool mathmlMapInitialized; #if GMV_ENABLE_BOXML typedef SmartPtr (TemplateBuilder::* BoxMLUpdateMethod)(const typename Model::Element&) const; - typedef HASH_MAP_NS::hash_map BoxMLBuilderMap; + typedef HASH_MAP_NS::hash_map BoxMLBuilderMap; static BoxMLBuilderMap boxmlMap; static bool boxmlMapInitialized; #endif // GMV_ENABLE_BOXML diff -u -r gtkmathview-0.8.0/src/frontend/common/TemplateLinker.hh gtkmathview-0.8.0-patched/src/frontend/common/TemplateLinker.hh --- gtkmathview-0.8.0/src/frontend/common/TemplateLinker.hh 2007-08-17 12:02:34.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/frontend/common/TemplateLinker.hh 2009-07-11 16:15:40.000000000 +0200 @@ -105,6 +105,17 @@ protected: struct Element_hash { +#ifdef _MSC_VER + static const size_t bucket_size = 4; + static const size_t min_buckets = 8; + + bool operator()(Element* el1, Element* el2) const + { + assert(el1 && el2); + return el1 < el2; + } +#endif + size_t operator()(class Element* elem) const { assert(elem); diff -u -r gtkmathview-0.8.0/src/frontend/libxml2/libxml2_Builder.cc gtkmathview-0.8.0-patched/src/frontend/libxml2/libxml2_Builder.cc --- gtkmathview-0.8.0/src/frontend/libxml2/libxml2_Builder.cc 2007-08-17 12:02:34.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/frontend/libxml2/libxml2_Builder.cc 2009-07-10 12:40:56.000000000 +0200 @@ -32,7 +32,10 @@ SmartPtr libxml2_Builder::create() -{ return TemplateBuilder >::create(); } +{ + SmartPtr b = TemplateBuilder >::create(); + return smart_cast( b ); +} SmartPtr libxml2_Builder::findSelfOrAncestorElement(xmlElement* el) const diff -u -r gtkmathview-0.8.0/src/frontend/libxml2/libxml2_Model.hh gtkmathview-0.8.0-patched/src/frontend/libxml2/libxml2_Model.hh --- gtkmathview-0.8.0/src/frontend/libxml2/libxml2_Model.hh 2007-08-17 12:02:34.000000000 +0200 +++ gtkmathview-0.8.0-patched/src/frontend/libxml2/libxml2_Model.hh 2009-07-11 16:15:48.000000000 +0200 @@ -79,6 +79,17 @@ // MUST be available if the default linker is used struct Hash { +#ifdef _MSC_VER + static const size_t bucket_size = 4; + static const size_t min_buckets = 8; + + bool operator()(xmlElement* el1, xmlElement* el2) const + { + assert(el1 && el2); + return el1 < el2; + } +#endif + size_t operator()(xmlElement* el) const { assert(el); @@ -87,7 +98,6 @@ } }; - }; #endif // __libxml2_Model_hh__ Only in gtkmathview-0.8.0-patched/viewer: _aux.cc Only in gtkmathview-0.8.0/viewer: aux.cc