clean up bclistbox, listbox shift drag fix, plugin info
[goodguy/history.git] / cinelerra-5.1 / cinelerra / main.C
index f54edcec0b904d6bb38b65187af9e0fea35d8684..e41f0cbe9c9369c28491e70839d9d0264c6c3f0b 100644 (file)
 #include "pluginserver.h"
 #include "preferences.h"
 #include "renderfarmclient.h"
+#include "units.h"
 #include "versioninfo.h"
 
 #include <locale.h>
 #include <stdlib.h>
 #include <string.h>
 
+#ifdef LEAKER
+#define STRC(v) printf("==new %p from %p sz %jd\n", v, __builtin_return_address(0), n)
+#define STRD(v) printf("==del %p from %p\n", v, __builtin_return_address(0))
+void *operator new(size_t n) { void *vp = malloc(n); STRC(vp); bzero(vp,n); return vp; }
+void operator delete(void *t) { STRD(t); free(t); }
+void operator delete(void *t,size_t n) { STRD(t); free(t); }
+void *operator new[](size_t n) { void *vp = malloc(n); STRC(vp); bzero(vp,n); return vp; }
+void operator delete[](void *t) { STRD(t); free(t); }
+void operator delete[](void *t,size_t n) { STRD(t); free(t); }
+#endif
+
 enum
 {
        DO_GUI,
@@ -106,6 +118,7 @@ int main(int argc, char *argv[])
        batch_path[0] = 0;
        deamon_path[0] = 0;
        EDL::id_lock = new Mutex("EDL::id_lock");
+       Units::init();
 
        File::init_cin_path();
        const char *locale_path = File::get_locale_path();
@@ -395,6 +408,7 @@ DISABLE_BUFFER
 
        filenames.remove_all_objects();
        delete EDL::id_lock;  EDL::id_lock = 0;
+       Units::finit();
 
        return 0;
 }