diff --git a/minuitwrp/truetype.cpp b/minuitwrp/truetype.cpp
index de92715..8695432 100755
--- a/minuitwrp/truetype.cpp
+++ b/minuitwrp/truetype.cpp
@@ -77,13 +77,14 @@
 	int error;
 	TrueTypeFont* res = nullptr;
 	TrueTypeFontKey* key;
+	std::string fontFileName(filename);
 
 	pthread_mutex_lock(&font_data.mutex);
 
 	TrueTypeFontKey k = {
 		.size = size,
 		.dpi = dpi,
-		.path = (char*)filename
+		.path = fontFileName
 	};
 
 	TrueTypeFontMap::iterator ttfIter = font_data.fonts.find(k);
@@ -154,7 +155,7 @@
 	int new_size = ((int)((float)f->size * scale_value)) - 1;
 	if (new_size < 1)
 		new_size = 1;
-	const char* file = f->key->path;
+	const char* file = f->key->path.c_str();
 	int dpi = f->dpi;
 	return gr_ttf_loadFont(file, new_size, dpi);
 }
@@ -182,7 +183,6 @@
 	TrueTypeFont *d = (TrueTypeFont *)font;
 	if(--d->refcount == 0)
 	{
-		delete d->key->path;
 		delete d->key;
 
 		FT_Done_Face(d->face);
diff --git a/minuitwrp/truetype.hpp b/minuitwrp/truetype.hpp
index 3ae2090..72b7620 100755
--- a/minuitwrp/truetype.hpp
+++ b/minuitwrp/truetype.hpp
@@ -29,11 +29,11 @@
 typedef struct TrueTypeFontKey {
     int size;
     int dpi;
-    char *path;
+    std::string path;
 } TrueTypeFontKey;
 
 inline bool operator<(const TrueTypeFontKey &ttfkLeft, const TrueTypeFontKey &ttfkRight) {
-    return std::tie(ttfkLeft.size, ttfkLeft.dpi, *ttfkLeft.path) < std::tie(ttfkRight.size, ttfkRight.dpi, *ttfkRight.path);
+    return std::tie(ttfkLeft.size, ttfkLeft.dpi, ttfkLeft.path) < std::tie(ttfkRight.size, ttfkRight.dpi, ttfkRight.path);
 }
 
 typedef struct {
