Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package dxflib for openSUSE:Factory checked 
in at 2021-09-20 23:33:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dxflib (Old)
 and      /work/SRC/openSUSE:Factory/.dxflib.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "dxflib"

Mon Sep 20 23:33:02 2021 rev:11 rq:920134 version:3.26.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/dxflib/dxflib.changes    2018-04-20 
17:30:33.588167739 +0200
+++ /work/SRC/openSUSE:Factory/.dxflib.new.1899/dxflib.changes  2021-09-20 
23:34:40.695286622 +0200
@@ -1,0 +2,11 @@
+Sun Sep 19 08:36:44 UTC 2021 - Jan Engelhardt <[email protected]>
+
+- Update to release 3.26.4
+  * fix LWPOLYLINE without Z values
+  * fix DL_POLYLINE3D flag definition
+  * add dimscale support for leaders
+  * add support for flipped dimension arrows to dxflib
+  * check vertexIndex which might be -1 for broken DXF
+    [boo#1190345, CVE-2021-21897]
+
+-------------------------------------------------------------------

Old:
----
  dxflib-3.17.0-src.tar.gz

New:
----
  dxflib-3.26.4-src.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ dxflib.spec ++++++
--- /var/tmp/diff_new_pack.bIAE6G/_old  2021-09-20 23:34:41.163287200 +0200
+++ /var/tmp/diff_new_pack.bIAE6G/_new  2021-09-20 23:34:41.167287204 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package dxflib
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -12,19 +12,20 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
 # Patch1 needs update on version change
-%define lname  libdxflib-3_17_0-1
+%define lname  libdxflib-3_26_4-1
 Name:           dxflib
-Version:        3.17.0
+Version:        3.26.4
 Release:        0
 Summary:        Parser library for the Drawing Exchange Format (DXF)
 License:        GPL-2.0-or-later
 Group:          Development/Libraries/C and C++
-Url:            https://qcad.org/en/dxflib-downloads
+#Git-Clone:    https://github.com/qcad/qcad
+URL:            https://qcad.org/en/dxflib-downloads
 Source:         https://qcad.org/archives/dxflib/%name-%version-src.tar.gz
 Patch1:         dxflib-versioning.diff
 BuildRequires:  gcc-c++
@@ -54,12 +55,11 @@
 files.
 
 %prep
-%setup -qn %name-%version-src
-%patch -P 1 -p1
+%autosetup -n %name-%version-src -p1
 
 %build
 %qmake5 %name.pro
-make %{?_smp_mflags}
+%make_build
 
 %install
 # `make install` does not do anything.
@@ -70,7 +70,7 @@
 ln -Tsfv "libdxflib-%version.so.1" "$b/%_libdir/libdxflib.so"
 
 %check
-make check %{?_smp_mflags}
+%make_build check
 
 %post   -n %lname -p /sbin/ldconfig
 %postun -n %lname -p /sbin/ldconfig

++++++ dxflib-3.17.0-src.tar.gz -> dxflib-3.26.4-src.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dxflib-3.17.0-src/dxflib.pro 
new/dxflib-3.26.4-src/dxflib.pro
--- old/dxflib-3.17.0-src/dxflib.pro    2017-05-18 10:17:32.000000000 +0200
+++ new/dxflib-3.26.4-src/dxflib.pro    2021-08-23 21:21:41.000000000 +0200
@@ -26,4 +26,6 @@
 TARGET = dxflib
 TEMPLATE = lib
 CONFIG += staticlib
+CONFIG -= qt
 DEFINES += DXFLIB_LIBRARY
+RC_FILE = dxflib.rc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dxflib-3.17.0-src/dxflib.rc 
new/dxflib-3.26.4-src/dxflib.rc
--- old/dxflib-3.17.0-src/dxflib.rc     1970-01-01 01:00:00.000000000 +0100
+++ new/dxflib-3.26.4-src/dxflib.rc     2021-08-23 21:21:41.000000000 +0200
@@ -0,0 +1,53 @@
+#ifndef DXFLIB_RC
+#define DXFLIB_RC
+
+#include <windows.h>
+#include "src/dl_dxf.h"
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+
+#define VER_FILEVERSION             
DL_VERSION_MAJOR,DL_VERSION_MINOR,DL_VERSION_REV,DL_VERSION_BUILD
+#define VER_FILEVERSION_STR         DL_VERSION
+
+#define VER_PRODUCTVERSION          
DL_VERSION_MAJOR,DL_VERSION_MINOR,DL_VERSION_REV,DL_VERSION_BUILD
+#define VER_PRODUCTVERSION_STR      DL_VERSION
+
+#define VER_COMPANYNAME_STR         "RibbonSoft, GmbH"
+#define VER_FILEDESCRIPTION_STR     "QCAD"
+#define VER_INTERNALNAME_STR        "QCAD"
+#define VER_LEGALCOPYRIGHT_STR      "Copyright (c) 2017 RibbonSoft, GmbH"
+#define VER_LEGALTRADEMARKS1_STR    "All Rights Reserved"
+#define VER_LEGALTRADEMARKS2_STR    VER_LEGALTRADEMARKS1_STR
+#define VER_ORIGINALFILENAME_STR    "dxflib.dll"
+#define VER_PRODUCTNAME_STR         "QCAD"
+
+#define VER_COMPANYDOMAIN_STR       "https://qcad.org";
+
+VS_VERSION_INFO VERSIONINFO
+FILEVERSION VER_FILEVERSION
+PRODUCTVERSION VER_PRODUCTVERSION
+BEGIN
+    BLOCK "StringFileInfo"
+    BEGIN
+        BLOCK "040904E4"
+        BEGIN
+            VALUE "CompanyName",        VER_COMPANYNAME_STR
+            VALUE "FileDescription",    VER_FILEDESCRIPTION_STR
+            VALUE "FileVersion",        VER_FILEVERSION_STR
+            VALUE "InternalName",       VER_INTERNALNAME_STR
+            VALUE "LegalCopyright",     VER_LEGALCOPYRIGHT_STR
+            VALUE "LegalTrademarks1",   VER_LEGALTRADEMARKS1_STR
+            VALUE "LegalTrademarks2",   VER_LEGALTRADEMARKS2_STR
+            VALUE "OriginalFilename",   VER_ORIGINALFILENAME_STR
+            VALUE "ProductName",        VER_PRODUCTNAME_STR
+            VALUE "ProductVersion",     VER_PRODUCTVERSION_STR
+            //VALUE "Rev",     I_SVNREV
+            //VALUE "Date",     I_SVN_CLOCKDATE
+        END
+    END
+
+    BLOCK "VarFileInfo"
+    BEGIN
+        VALUE "Translation", 0x409, 1252
+    END
+END
+#endif // DXFLIB_RC
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dxflib-3.17.0-src/examples/writehatch/hatch.dxf 
new/dxflib-3.26.4-src/examples/writehatch/hatch.dxf
--- old/dxflib-3.17.0-src/examples/writehatch/hatch.dxf 2017-05-18 
10:17:32.000000000 +0200
+++ new/dxflib-3.26.4-src/examples/writehatch/hatch.dxf 2021-08-23 
21:21:41.000000000 +0200
@@ -1,5 +1,5 @@
 999
-dxflib 3.12.2.0
+dxflib 3.17.0.0
   0
 SECTION
   2
@@ -572,6 +572,8 @@
 HATCH
   5
 32
+100
+AcDbEntity
   8
 0
  62
@@ -585,8 +587,6 @@
   6
 BYLAYER
 100
-AcDbEntity
-100
 AcDbHatch
  10
 0.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dxflib-3.17.0-src/src/dl_codes.h 
new/dxflib-3.26.4-src/src/dl_codes.h
--- old/dxflib-3.17.0-src/src/dl_codes.h        2017-05-18 10:17:32.000000000 
+0200
+++ new/dxflib-3.26.4-src/src/dl_codes.h        2021-08-23 21:21:41.000000000 
+0200
@@ -501,7 +501,7 @@
 // Flags
 #define DL_OPEN_PLINE       0x00
 #define DL_CLOSED_PLINE     0x01
-#define DL_POLYLINE3D       0x80
+#define DL_POLYLINE3D       0x08
 #define DL_PFACE_MESH       0x40
 #define DL_PGON_MESH        0x10
 // Vertices follow entity, required in POLYLINES
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dxflib-3.17.0-src/src/dl_creationadapter.h 
new/dxflib-3.26.4-src/src/dl_creationadapter.h
--- old/dxflib-3.17.0-src/src/dl_creationadapter.h      2017-05-18 
10:17:32.000000000 +0200
+++ new/dxflib-3.26.4-src/src/dl_creationadapter.h      2021-08-23 
21:21:41.000000000 +0200
@@ -82,7 +82,7 @@
     virtual void addDimDiametric(const DL_DimensionData&,
                               const DL_DimDiametricData&) {}
     virtual void addDimAngular(const DL_DimensionData&,
-                              const DL_DimAngularData&) {}
+                              const DL_DimAngular2LData&) {}
     virtual void addDimAngular3P(const DL_DimensionData&,
                               const DL_DimAngular3PData&) {}
     virtual void addDimOrdinate(const DL_DimensionData&,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dxflib-3.17.0-src/src/dl_creationinterface.h 
new/dxflib-3.26.4-src/src/dl_creationinterface.h
--- old/dxflib-3.17.0-src/src/dl_creationinterface.h    2017-05-18 
10:17:32.000000000 +0200
+++ new/dxflib-3.26.4-src/src/dl_creationinterface.h    2021-08-23 
21:21:41.000000000 +0200
@@ -191,7 +191,7 @@
      * Called for every angular dimension (2 lines version) entity. 
      */
     virtual void addDimAngular(const DL_DimensionData& data,
-                              const DL_DimAngularData& edata) = 0;
+                              const DL_DimAngular2LData& edata) = 0;
 
     /**
      * Called for every angular dimension (3 points version) entity. 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dxflib-3.17.0-src/src/dl_dxf.cpp 
new/dxflib-3.26.4-src/src/dl_dxf.cpp
--- old/dxflib-3.17.0-src/src/dl_dxf.cpp        2017-05-18 10:17:32.000000000 
+0200
+++ new/dxflib-3.26.4-src/src/dl_dxf.cpp        2021-08-23 21:21:41.000000000 
+0200
@@ -129,14 +129,14 @@
 /**
  * Reads a DXF file from an existing stream.
  *
- * @param stream The string stream.
+ * @param stream The input stream.
  * @param creationInterface
  *      Pointer to the class which takes care of the entities in the file.
  *
  * @retval true If \p file could be opened.
  * @retval false If \p file could not be opened.
  */
-bool DL_Dxf::in(std::stringstream& stream,
+bool DL_Dxf::in(std::istream& stream,
                 DL_CreationInterface* creationInterface) {
     
     if (stream.good()) {
@@ -193,9 +193,9 @@
 
 
 /**
- * Same as above but for stringstreams.
+ * Same as above but for input streams.
  */
-bool DL_Dxf::readDxfGroups(std::stringstream& stream,
+bool DL_Dxf::readDxfGroups(std::istream& stream,
                            DL_CreationInterface* creationInterface) {
 
     static int line = 1;
@@ -263,10 +263,10 @@
 
 
 /**
- * Same as above but for stringstreams.
+ * Same as above but for input streams.
  */
 bool DL_Dxf::getStrippedLine(std::string &s, unsigned int size,
-                            std::stringstream& stream, bool stripSpace) {
+                            std::istream& stream, bool stripSpace) {
 
     if (!stream.eof()) {
         // Only the useful part of the line
@@ -1448,10 +1448,10 @@
         }
 
         if (groupCode<=30) {
-            if (vertexIndex>=0 && vertexIndex<maxVertices) {
+            if (vertexIndex>=0 && vertexIndex<maxVertices && vertexIndex>=0) {
                 vertices[4*vertexIndex + (groupCode/10-1)] = 
toReal(groupValue);
             }
-        } else if (groupCode==42 && vertexIndex<maxVertices) {
+        } else if (groupCode==42 && vertexIndex<maxVertices && vertexIndex>=0) 
{
             vertices[4*vertexIndex + 3] = toReal(groupValue);
         }
         return true;
@@ -1735,7 +1735,7 @@
  */
 DL_DimensionData DL_Dxf::getDimData() {
     // generic dimension data:
-    return DL_DimensionData(
+    DL_DimensionData ret(
                // def point
                getRealValue(10, 0.0),
                getRealValue(20, 0.0),
@@ -1758,6 +1758,9 @@
                getStringValue(3, ""),
                // angle
                getRealValue(53, 0.0));
+    ret.arrow1Flipped = getIntValue(74, 0)==1;
+    ret.arrow2Flipped = getIntValue(75, 0)==1;
+    return ret;
 }
 
 
@@ -1852,7 +1855,7 @@
     DL_DimensionData d = getDimData();
 
     // angular dimension:
-    DL_DimAngularData da(
+    DL_DimAngular2LData da(
         // definition point 1
         getRealValue(13, 0.0),
         getRealValue(23, 0.0),
@@ -2505,7 +2508,6 @@
     if (version==DL_VERSION_2000) {
         dw.dxfReal(10, data.x);
         dw.dxfReal(20, data.y);
-        dw.dxfReal(30, data.z);
         if (fabs(data.bulge)>1.0e-10) {
             dw.dxfReal(42, data.bulge);
         }
@@ -2964,6 +2966,11 @@
         dw.dxfString(1001, "ACAD");
         dw.dxfString(1000, "DSTYLE");
         dw.dxfString(1002, "{");
+        if (data.type&128) {
+            // custom text position:
+            dw.dxfInt(1070, 279);
+            dw.dxfInt(1070, 2);
+        }
         dw.dxfInt(1070, 144);
         dw.dxfReal(1040, data.linearFactor);
         dw.dxfInt(1070,40);
@@ -3008,6 +3015,8 @@
     if (version>DL_VERSION_R12) {
         dw.dxfInt(71, data.attachmentPoint);
         dw.dxfInt(72, data.lineSpacingStyle); // opt
+        dw.dxfInt(74, data.arrow1Flipped);
+        dw.dxfInt(75, data.arrow2Flipped);
         dw.dxfReal(41, data.lineSpacingFactor); // opt
     }
 
@@ -3069,6 +3078,8 @@
     if (version>DL_VERSION_R12) {
         dw.dxfInt(71, data.attachmentPoint);
         dw.dxfInt(72, data.lineSpacingStyle); // opt
+        dw.dxfInt(74, data.arrow1Flipped);
+        dw.dxfInt(75, data.arrow2Flipped);
         dw.dxfReal(41, data.lineSpacingFactor); // opt
     }
 
@@ -3136,6 +3147,8 @@
     if (version>DL_VERSION_R12) {
         dw.dxfInt(71, data.attachmentPoint);
         dw.dxfInt(72, data.lineSpacingStyle); // opt
+        dw.dxfInt(74, data.arrow1Flipped);
+        //dw.dxfInt(75, data.arrow2Flipped);
         dw.dxfReal(41, data.lineSpacingFactor); // opt
     }
 
@@ -3195,6 +3208,8 @@
     if (version>DL_VERSION_R12) {
         dw.dxfInt(71, data.attachmentPoint);
         dw.dxfInt(72, data.lineSpacingStyle); // opt
+        dw.dxfInt(74, data.arrow1Flipped);
+        dw.dxfInt(75, data.arrow2Flipped);
         dw.dxfReal(41, data.lineSpacingFactor); // opt
     }
 
@@ -3227,9 +3242,9 @@
  * @param data Specific angular dimension data from the file
  * @param attrib Attributes
  */
-void DL_Dxf::writeDimAngular(DL_WriterA& dw,
+void DL_Dxf::writeDimAngular2L(DL_WriterA& dw,
                              const DL_DimensionData& data,
-                             const DL_DimAngularData& edata,
+                             const DL_DimAngular2LData& edata,
                              const DL_Attributes& attrib) {
 
     dw.entity("DIMENSION");
@@ -3254,6 +3269,8 @@
     if (version>DL_VERSION_R12) {
         dw.dxfInt(71, data.attachmentPoint);
         dw.dxfInt(72, data.lineSpacingStyle); // opt
+        dw.dxfInt(74, data.arrow1Flipped);
+        dw.dxfInt(75, data.arrow2Flipped);
         dw.dxfReal(41, data.lineSpacingFactor); // opt
     }
 
@@ -3321,6 +3338,8 @@
     if (version>DL_VERSION_R12) {
         dw.dxfInt(71, data.attachmentPoint);
         dw.dxfInt(72, data.lineSpacingStyle); // opt
+        dw.dxfInt(74, data.arrow1Flipped);
+        dw.dxfInt(75, data.arrow2Flipped);
         dw.dxfReal(41, data.lineSpacingFactor); // opt
     }
 
@@ -3390,6 +3409,8 @@
     if (version>DL_VERSION_R12) {
         dw.dxfInt(71, data.attachmentPoint);
         dw.dxfInt(72, data.lineSpacingStyle); // opt
+        //dw.dxfInt(74, data.arrow1Flipped);
+        //dw.dxfInt(75, data.arrow2Flipped);
         dw.dxfReal(41, data.lineSpacingFactor); // opt
     }
 
@@ -3460,6 +3481,18 @@
     }
 }
 
+void DL_Dxf::writeLeaderEnd(DL_WriterA& dw,
+                 const DL_LeaderData& data) {
+    if (version==DL_VERSION_2000) {
+        dw.dxfString(1001, "ACAD");
+        dw.dxfString(1000, "DSTYLE");
+        dw.dxfString(1002, "{");
+        dw.dxfInt(1070,40);
+        dw.dxfReal(1040, data.dimScale);
+        dw.dxfString(1002, "}");
+    }
+}
+
 
 
 /**
@@ -3664,7 +3697,7 @@
  *
  * @return IMAGEDEF handle. Needed for the IMAGEDEF counterpart.
  */
-int DL_Dxf::writeImage(DL_WriterA& dw,
+unsigned long DL_Dxf::writeImage(DL_WriterA& dw,
                        const DL_ImageData& data,
                        const DL_Attributes& attrib) {
 
@@ -3704,8 +3737,7 @@
     dw.dxfReal(23, data.height);
 
     // handle of IMAGEDEF object
-    int handle = dw.incHandle();
-    dw.dxfHex(340, handle);
+    unsigned long handle = dw.handle(340);
 
     // flags
     dw.dxfInt(70, 15);
@@ -4353,7 +4385,6 @@
     dw.dxfString(  0, "SECTION");
     dw.dxfString(  2, "OBJECTS");
 
-
     dw.dxfString(  0, "DICTIONARY");
     dw.dxfHex(5, 0xC);
     dw.dxfString(100, "AcDbDictionary");
@@ -4703,12 +4734,9 @@
     dw.dxfInt(281, 1);
 }
 
-int DL_Dxf::writeDictionaryEntry(DL_WriterA& dw, const std::string& name) {
+unsigned long DL_Dxf::writeDictionaryEntry(DL_WriterA& dw, const std::string& 
name) {
     dw.dxfString(  3, name);
-    int handle = dw.getNextHandle();
-    dw.dxfHex(350, handle);
-    dw.incHandle();
-    return handle;
+    return dw.handle(350);
 }
 
 void DL_Dxf::writeXRecord(DL_WriterA& dw, int handle, int value) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dxflib-3.17.0-src/src/dl_dxf.h 
new/dxflib-3.26.4-src/src/dl_dxf.h
--- old/dxflib-3.17.0-src/src/dl_dxf.h  2017-05-18 10:17:32.000000000 +0200
+++ new/dxflib-3.26.4-src/src/dl_dxf.h  2021-08-23 21:21:41.000000000 +0200
@@ -57,11 +57,11 @@
 class DL_WriterA;
 
 
-#define DL_VERSION "3.17.0.0"
+#define DL_VERSION "3.26.4.0"
 
 #define DL_VERSION_MAJOR    3
-#define DL_VERSION_MINOR    17
-#define DL_VERSION_REV      0
+#define DL_VERSION_MINOR    26
+#define DL_VERSION_REV      4
 #define DL_VERSION_BUILD    0
 
 #define DL_UNKNOWN               0
@@ -131,12 +131,12 @@
     static bool getStrippedLine(std::string& s, unsigned int size,
                                FILE* stream, bool stripSpace = true);
     
-    bool readDxfGroups(std::stringstream& stream,
+    bool readDxfGroups(std::istream& stream,
                        DL_CreationInterface* creationInterface);
-    bool in(std::stringstream &stream,
+    bool in(std::istream &stream,
             DL_CreationInterface* creationInterface);
     static bool getStrippedLine(std::string& s, unsigned int size,
-                               std::stringstream& stream, bool stripSpace = 
true);
+                               std::istream& stream, bool stripSpace = true);
 
     static bool stripWhiteSpace(char** s, bool stripSpaces = true);
 
@@ -294,9 +294,9 @@
                            const DL_DimensionData& data,
                            const DL_DimDiametricData& edata,
                            const DL_Attributes& attrib);
-    void writeDimAngular(DL_WriterA& dw,
+    void writeDimAngular2L(DL_WriterA& dw,
                          const DL_DimensionData& data,
-                         const DL_DimAngularData& edata,
+                         const DL_DimAngular2LData& edata,
                          const DL_Attributes& attrib);
     void writeDimAngular3P(DL_WriterA& dw,
                            const DL_DimensionData& data,
@@ -311,6 +311,8 @@
                      const DL_Attributes& attrib);
     void writeLeaderVertex(DL_WriterA& dw,
                            const DL_LeaderVertexData& data);
+    void writeLeaderEnd(DL_WriterA& dw,
+                     const DL_LeaderData& data);
     void writeHatch1(DL_WriterA& dw,
                      const DL_HatchData& data,
                      const DL_Attributes& attrib);
@@ -324,7 +326,7 @@
     void writeHatchEdge(DL_WriterA& dw,
                         const DL_HatchEdgeData& data);
 
-    int writeImage(DL_WriterA& dw,
+    unsigned long writeImage(DL_WriterA& dw,
                    const DL_ImageData& data,
                    const DL_Attributes& attrib);
 
@@ -355,7 +357,7 @@
     void writeBlockRecord(DL_WriterA& dw, const std::string& name);
     void writeObjects(DL_WriterA& dw, const std::string& appDictionaryName = 
"");
     void writeAppDictionary(DL_WriterA& dw);
-    int writeDictionaryEntry(DL_WriterA& dw, const std::string& name);
+    unsigned long writeDictionaryEntry(DL_WriterA& dw, const std::string& 
name);
     void writeXRecord(DL_WriterA& dw, int handle, int value);
     void writeXRecord(DL_WriterA& dw, int handle, double value);
     void writeXRecord(DL_WriterA& dw, int handle, bool value);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dxflib-3.17.0-src/src/dl_entities.h 
new/dxflib-3.26.4-src/src/dl_entities.h
--- old/dxflib-3.17.0-src/src/dl_entities.h     2017-05-18 10:17:32.000000000 
+0200
+++ new/dxflib-3.26.4-src/src/dl_entities.h     2021-08-23 21:21:41.000000000 
+0200
@@ -1090,6 +1090,8 @@
      * Dimension scale (dimscale) style override.
      */
     double dimScale;
+    bool arrow1Flipped;
+    bool arrow2Flipped;
 };
 
 
@@ -1238,12 +1240,12 @@
 /**
  * Angular Dimension Data.
  */
-struct DXFLIB_EXPORT DL_DimAngularData {
+struct DXFLIB_EXPORT DL_DimAngular2LData {
     /**
      * Constructor.
      * Parameters: see member variables.
      */
-    DL_DimAngularData(double ddpx1, double ddpy1, double ddpz1,
+    DL_DimAngular2LData(double ddpx1, double ddpy1, double ddpz1,
                       double ddpx2, double ddpy2, double ddpz2,
                       double ddpx3, double ddpy3, double ddpz3,
                       double ddpx4, double ddpy4, double ddpz4) {
@@ -1320,21 +1322,21 @@
         dpz3 = ddpz3;
     }
 
-    /*! X Coordinate of definition point 1. */
+    /*! X Coordinate of definition point 1 (extension line 1 end). */
     double dpx1;
     /*! Y Coordinate of definition point 1. */
     double dpy1;
     /*! Z Coordinate of definition point 1. */
     double dpz1;
 
-    /*! X Coordinate of definition point 2. */
+    /*! X Coordinate of definition point 2 (extension line 2 end). */
     double dpx2;
     /*! Y Coordinate of definition point 2. */
     double dpy2;
     /*! Z Coordinate of definition point 2. */
     double dpz2;
 
-    /*! X Coordinate of definition point 3. */
+    /*! X Coordinate of definition point 3 (center). */
     double dpx3;
     /*! Y Coordinate of definition point 3. */
     double dpy3;
@@ -1395,23 +1397,25 @@
      * Constructor.
      * Parameters: see member variables.
      */
-    DL_LeaderData(int lArrowHeadFlag,
-                  int lLeaderPathType,
-                  int lLeaderCreationFlag,
-                  int lHooklineDirectionFlag,
-                  int lHooklineFlag,
-                  double lTextAnnotationHeight,
-                  double lTextAnnotationWidth,
-                  int lNumber) {
-
-        arrowHeadFlag = lArrowHeadFlag;
-        leaderPathType = lLeaderPathType;
-        leaderCreationFlag = lLeaderCreationFlag;
-        hooklineDirectionFlag = lHooklineDirectionFlag;
-        hooklineFlag = lHooklineFlag;
-        textAnnotationHeight = lTextAnnotationHeight;
-        textAnnotationWidth = lTextAnnotationWidth;
-        number = lNumber;
+    DL_LeaderData(int arrowHeadFlag,
+                  int leaderPathType,
+                  int leaderCreationFlag,
+                  int hooklineDirectionFlag,
+                  int hooklineFlag,
+                  double textAnnotationHeight,
+                  double textAnnotationWidth,
+                  int number,
+                  double dimScale = 1.0) :
+        arrowHeadFlag(arrowHeadFlag),
+        leaderPathType(leaderPathType),
+        leaderCreationFlag(leaderCreationFlag),
+        hooklineDirectionFlag(hooklineDirectionFlag),
+        hooklineFlag(hooklineFlag),
+        textAnnotationHeight(textAnnotationHeight),
+        textAnnotationWidth(textAnnotationWidth),
+        number(number),
+        dimScale(dimScale) {
+
     }
 
     /*! Arrow head flag (71). */
@@ -1430,6 +1434,8 @@
     double textAnnotationWidth;
     /*! Number of vertices in leader (76). */
     int number;
+    /*! Dimension scale (dimscale) style override. */
+    double dimScale;
 };
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dxflib-3.17.0-src/src/dl_writer.h 
new/dxflib-3.26.4-src/src/dl_writer.h
--- old/dxflib-3.17.0-src/src/dl_writer.h       2017-05-18 10:17:32.000000000 
+0200
+++ new/dxflib-3.26.4-src/src/dl_writer.h       2021-08-23 21:21:41.000000000 
+0200
@@ -36,6 +36,7 @@
 #pragma once
 #endif // _MSC_VER > 1000
 
+#include <cstring>
 #include <iostream>
 #include <algorithm>
 
@@ -540,49 +541,6 @@
     }
     
     /**
-     * Increases handle, so that the handle returned remains available.
-     */
-    unsigned long incHandle() const {
-        return m_handle++;
-    }
-
-    /**
-     * Sets the handle of the model space. Entities refer to 
-     * this handle.
-     */
-    void setModelSpaceHandle(unsigned long h) {
-        modelSpaceHandle = h;
-    }
-
-    unsigned long getModelSpaceHandle() {
-        return modelSpaceHandle;
-    }
-
-    /**
-     * Sets the handle of the paper space. Some special blocks refer to 
-     * this handle.
-     */
-    void setPaperSpaceHandle(unsigned long h) {
-        paperSpaceHandle = h;
-    }
-
-    unsigned long getPaperSpaceHandle() {
-        return paperSpaceHandle;
-    }
-
-    /**
-     * Sets the handle of the paper space 0. Some special blocks refer to 
-     * this handle.
-     */
-    void setPaperSpace0Handle(unsigned long h) {
-        paperSpace0Handle = h;
-    }
-
-    unsigned long getPaperSpace0Handle() {
-        return paperSpace0Handle;
-    }
-
-    /**
      * Must be overwritten by the implementing class to write a
      * real value to the file.
      *

++++++ dxflib-versioning.diff ++++++
--- /var/tmp/diff_new_pack.bIAE6G/_old  2021-09-20 23:34:41.247287304 +0200
+++ /var/tmp/diff_new_pack.bIAE6G/_new  2021-09-20 23:34:41.251287308 +0200
@@ -3,25 +3,23 @@
 
 dxflib by default does not build a shared library, and does not
 track its ABI either. So we have to do that.
-
-1: dxflib-3.7.5
-suse2: dxflib-3.12.2: class DL_DimensionData gained new member
-
 ---
  dxflib.pro |    4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
-Index: dxflib-3.17.0-src/dxflib.pro
+Index: dxflib-3.26.4-src/dxflib.pro
 ===================================================================
---- dxflib-3.17.0-src.orig/dxflib.pro
-+++ dxflib-3.17.0-src/dxflib.pro
-@@ -23,7 +23,7 @@ SOURCES = \
+--- dxflib-3.26.4-src.orig/dxflib.pro
++++ dxflib-3.26.4-src/dxflib.pro
+@@ -23,9 +23,9 @@ SOURCES = \
      src/dl_dxf.cpp \
      src/dl_writer_ascii.cpp
  
 -TARGET = dxflib
-+TARGET = dxflib-3.17.0
++TARGET = dxflib-3.26.4
  TEMPLATE = lib
 -CONFIG += staticlib
 +CONFIG += sharedlib
+ CONFIG -= qt
  DEFINES += DXFLIB_LIBRARY
+ RC_FILE = dxflib.rc

Reply via email to