diff --git a/src/libslic3r/Emboss.cpp b/src/libslic3r/Emboss.cpp index 34d9a93590..38c035806c 100644 --- a/src/libslic3r/Emboss.cpp +++ b/src/libslic3r/Emboss.cpp @@ -990,6 +990,7 @@ EmbossStyles Emboss::get_font_list_by_enumeration() { std::vector font_names; EnumFontFamilies(hDC, (LPCTSTR) NULL, EnumFamCallBack, (LPARAM) &font_names); + ReleaseDC(NULL, hDC); EmbossStyles font_list; for (const std::wstring &font_name : font_names) { diff --git a/src/slic3r/GUI/GUI_Utils.cpp b/src/slic3r/GUI/GUI_Utils.cpp index 10dd29c9c1..5c55e341c9 100644 --- a/src/slic3r/GUI/GUI_Utils.cpp +++ b/src/slic3r/GUI/GUI_Utils.cpp @@ -247,7 +247,9 @@ int get_dpi_for_window(const wxWindow *window) const HDC hdc = GetDC(hwnd); if (hdc == NULL) { return DPI_DEFAULT; } - return GetDeviceCaps(hdc, LOGPIXELSX); + const int dpi = GetDeviceCaps(hdc, LOGPIXELSX); + ReleaseDC(hwnd, hdc); // GetDC's handle must be released, unlike GetWindowDC's + return dpi; } #elif defined __linux__ // TODO