---
 sc/source/filter/xml/xmlfilti.hxx |   24 ++++++++++++++++++------
 1 files changed, 18 insertions(+), 6 deletions(-)


diff --git a/sc/source/filter/xml/xmlfilti.hxx b/sc/source/filter/xml/xmlfilti.hxx
index 92a094c..11a5300 100644
--- a/sc/source/filter/xml/xmlfilti.hxx
+++ b/sc/source/filter/xml/xmlfilti.hxx
@@ -36,7 +36,6 @@
 #include <com/sun/star/sheet/FilterOperator.hpp>
 #include <com/sun/star/sheet/FilterOperator2.hpp>
 #include <com/sun/star/sheet/TableFilterField2.hpp>
-#include <tools/stack.hxx>
 
 #include "xmldrani.hxx"
 #include "xmldpimp.hxx"
@@ -228,7 +227,7 @@ class ScXMLDPFilterContext : public SvXMLImportContext
     bool        bConnectionOr;
     bool        bNextConnectionOr;
     bool        bConditionSourceRange;
-    Stack       aConnectionOrStack;
+    ::std::stack<bool>  aConnectionOrStack;
 
     const ScXMLImport& GetScImport() const { return (const ScXMLImport&)GetImport(); }
     ScXMLImport& GetScImport() { return (ScXMLImport&)GetImport(); }
@@ -252,10 +251,23 @@ public:
 
     void SetIsCaseSensitive(const bool bTemp) { bIsCaseSensitive = bTemp; }
     void SetUseRegularExpressions(const bool bTemp) { if (!bUseRegularExpressions) bUseRegularExpressions = bTemp;}
-    void OpenConnection(const bool bTemp) { bool* pTemp = new bool; *pTemp = bConnectionOr;
-                            bConnectionOr = bNextConnectionOr; bNextConnectionOr = bTemp;
-                            aConnectionOrStack.Push(pTemp);}
-    void CloseConnection() { bool* pTemp = static_cast <bool*> (aConnectionOrStack.Pop()); bConnectionOr = *pTemp; bNextConnectionOr = *pTemp; delete pTemp;}
+
+    void OpenConnection(const bool bTemp)
+    {
+        bool pTemp = bConnectionOr;
+        bConnectionOr = bNextConnectionOr;
+        bNextConnectionOr = bTemp;
+        aConnectionOrStack.push(pTemp);
+    }
+
+    void CloseConnection()
+    {
+        bool pTemp = aConnectionOrStack.top();
+        aConnectionOrStack.pop();
+        bConnectionOr = pTemp;
+        bNextConnectionOr = pTemp;
+    }
+
     bool GetConnection() { bool bTemp = bConnectionOr; bConnectionOr = bNextConnectionOr; return bTemp; }
     void AddFilterField (const ScQueryEntry& aFilterField);
 };

_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to