[poppler] 2 commits - CMakeLists.txt configure.ac msvc/config.h NEWS poppler/Object.h qt4/src

Albert Astals Cid aacid at kemper.freedesktop.org
Tue Sep 23 13:40:03 PDT 2008


 CMakeLists.txt   |    2 +-
 NEWS             |   19 +++++++++++++++++++
 configure.ac     |    2 +-
 msvc/config.h    |    6 +++---
 poppler/Object.h |   36 ++++++++++++++++++++++--------------
 qt4/src/Doxyfile |    2 +-
 6 files changed, 47 insertions(+), 20 deletions(-)

New commits:
commit 539d29f4f3b24b98c9fc5f88d3477e427fbe409d
Author: Albert Astals Cid <aacid at kde.org>
Date:   Tue Sep 23 22:39:50 2008 +0200

    0.9.2

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6cf9765..b0f2728 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -11,7 +11,7 @@ find_package(PkgConfig)
 include(MacroEnsureVersion)
 include(MacroBoolTo01)
 
-set(POPPLER_VERSION "0.9.1")
+set(POPPLER_VERSION "0.9.2")
 
 # command line switches
 option(ENABLE_XPDF_HEADERS "Install unsupported xpdf headers." OFF)
diff --git a/NEWS b/NEWS
index 1f8feec..30772df 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,22 @@
+Release 0.9.2 (0.10 RC 1)
+
+	core:
+	 * Fix conversion to PS some files (bug #17645)
+	 * Small Form fixes
+	 * Small JS fixes
+	 * Improve memory usage of the cairo renderer
+	
+	utils:
+	 * Fix mismatched free/delete in pdftohtml
+	 * Fix memory leak in pdftohtml
+	 * Fix crash in pdftohtml
+	
+	glib:
+	 * Fix a crash in forms demo
+	
+	misc:
+	 * Compile with -pedantic
+
 Release 0.9.1 (0.10 Beta 2)
 
 	Core:
diff --git a/configure.ac b/configure.ac
index 452e884..8129cf9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
 AC_PREREQ(2.59)
-AC_INIT(poppler, 0.9.1)
+AC_INIT(poppler, 0.9.2)
 AM_INIT_AUTOMAKE([foreign])
 AM_CONFIG_HEADER(config.h)
 AM_CONFIG_HEADER(poppler/poppler-config.h)
diff --git a/msvc/config.h b/msvc/config.h
index 8afc294..fe55102 100644
--- a/msvc/config.h
+++ b/msvc/config.h
@@ -32,13 +32,13 @@
 #define PACKAGE_NAME "poppler"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "poppler 0.9.1"
+#define PACKAGE_STRING "poppler 0.9.2"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "poppler"
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "0.9.1"
+#define PACKAGE_VERSION "0.9.2"
 
 /* Poppler data dir */
 #define POPPLER_DATADIR "/usr/local/share/poppler"
@@ -53,7 +53,7 @@
 /* #undef USE_EXCEPTIONS */
 
 /* Version number of package */
-#define VERSION "0.9.1"
+#define VERSION "0.9.2"
 
 #define snprintf _snprintf
 #define unlink _unlink
diff --git a/qt4/src/Doxyfile b/qt4/src/Doxyfile
index 7566664..4a8d13b 100644
--- a/qt4/src/Doxyfile
+++ b/qt4/src/Doxyfile
@@ -31,7 +31,7 @@ PROJECT_NAME           = "Poppler Qt4 "
 # This could be handy for archiving the generated documentation or 
 # if some version control system is used.
 
-PROJECT_NUMBER         = 0.9.1
+PROJECT_NUMBER         = 0.9.2
 
 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
 # base path where the generated documentation will be put. 
commit abd070a79d8345bda3853395a39e4e2882c4ff8a
Author: Albert Astals Cid <aacid at kde.org>
Date:   Mon Sep 22 20:23:11 2008 +0200

    Check the types here too
    
    Benchmarking in release mode, both in "human feel" and callgrind the benefit/lost is almost inexistant

diff --git a/poppler/Object.h b/poppler/Object.h
index 29542c1..01bff6b 100644
--- a/poppler/Object.h
+++ b/poppler/Object.h
@@ -15,6 +15,7 @@
 //
 // Copyright (C) 2007 Julien Rebetez <julienr at svn.gnome.org>
 // Copyright (C) 2008 Kees Cook <kees at outflux.net>
+// Copyright (C) 2008 Albert Astals Cid <aacid at kde.org>
 //
 // To see a description of the changes please see the Changelog file that
 // came with your tarball or type make ChangeLog if you are building from git
@@ -50,6 +51,13 @@
         abort(); \
     }
 
+#define OBJECT_2TYPES_CHECK(wanted_type1, wanted_type2) \
+    if (unlikely(type != wanted_type1) && unlikely(type != wanted_type2)) { \
+        error(0, "Call to Object where the object was type %d, " \
+                 "not the expected type %d or %d", type, wanted_type1, wanted_type2); \
+        abort(); \
+    }
+
 class XRef;
 class Array;
 class Dict;
@@ -177,20 +185,20 @@ public:
   GBool isCmd(char *cmdA)
     { return type == objCmd && !strcmp(cmd, cmdA); }
 
-  // Accessors.  NB: these assume object is of correct type.
-  GBool getBool() { return booln; }
-  int getInt() { return intg; }
-  double getReal() { return real; }
-  double getNum() { return type == objInt ? (double)intg : real; }
-  GooString *getString() { return string; }
-  char *getName() { return name; }
-  Array *getArray() { return array; }
-  Dict *getDict() { return dict; }
-  Stream *getStream() { return stream; }
-  Ref getRef() { return ref; }
-  int getRefNum() { return ref.num; }
-  int getRefGen() { return ref.gen; }
-  char *getCmd() { return cmd; }
+  // Accessors.
+  GBool getBool() { OBJECT_TYPE_CHECK(objBool); return booln; }
+  int getInt() { OBJECT_TYPE_CHECK(objInt); return intg; }
+  double getReal() { OBJECT_TYPE_CHECK(objReal); return real; }
+  double getNum() { OBJECT_2TYPES_CHECK(objInt, objReal); return type == objInt ? (double)intg : real; }
+  GooString *getString() { OBJECT_TYPE_CHECK(objString); return string; }
+  char *getName() { OBJECT_TYPE_CHECK(objName); return name; }
+  Array *getArray() { OBJECT_TYPE_CHECK(objArray); return array; }
+  Dict *getDict() { OBJECT_TYPE_CHECK(objDict); return dict; }
+  Stream *getStream() { OBJECT_TYPE_CHECK(objStream); return stream; }
+  Ref getRef() { OBJECT_TYPE_CHECK(objRef); return ref; }
+  int getRefNum() { OBJECT_TYPE_CHECK(objRef); return ref.num; }
+  int getRefGen() { OBJECT_TYPE_CHECK(objRef); return ref.gen; }
+  char *getCmd() { OBJECT_TYPE_CHECK(objCmd); return cmd; }
 
   // Array accessors.
   int arrayGetLength();


More information about the poppler mailing list