# HG changeset patch
# User Alpar Juttner <alpar@cs.elte.hu>
# Date 1236174185 0
# Node ID fc6c7aab4b8d01f2d6ee4eb442b7ee81847319d5
# Parent  89e29e22d479cd4f91dec4578f83f472efcab3e7# Parent  ba124394367a55cc36b851a808f3f3218abf8367
Merge

diff -r 89e29e22d479 -r fc6c7aab4b8d lemon/glpk.cc
--- a/lemon/glpk.cc	Sun Mar 01 07:10:49 2009 +0000
+++ b/lemon/glpk.cc	Wed Mar 04 13:43:05 2009 +0000
@@ -522,6 +522,12 @@
     cols.clear();
   }
 
+  void GlpkBase::freeEnv() {
+    glp_free_env();
+  }
+
+  GlpkBase::FreeEnvHelper GlpkBase::freeEnvHelper;
+
   // GlpkLp members
 
   GlpkLp::GlpkLp()
diff -r 89e29e22d479 -r fc6c7aab4b8d lemon/glpk.h
--- a/lemon/glpk.h	Sun Mar 01 07:10:49 2009 +0000
+++ b/lemon/glpk.h	Wed Mar 04 13:43:05 2009 +0000
@@ -100,6 +100,18 @@
 
     virtual void _clear();
 
+  private:
+
+    static void freeEnv();
+
+    struct FreeEnvHelper {
+      ~FreeEnvHelper() {
+        freeEnv();
+      }
+    };
+    
+    static FreeEnvHelper freeEnvHelper;
+    
   public:
 
     ///Pointer to the underlying GLPK data structure.