Moving FileBrowserEntry static variable initialization to a dedicated

method. Fixes a crash introduced by PR #5435.
This commit is contained in:
Hombre57
2023-08-03 20:12:52 +02:00
parent e3e73e6a83
commit 4f752154cf
3 changed files with 11 additions and 11 deletions

View File

@@ -37,7 +37,6 @@
//extern Glib::Threads::Thread* mainThread; //extern Glib::Threads::Thread* mainThread;
bool FileBrowserEntry::iconsLoaded(false);
Glib::RefPtr<Gdk::Pixbuf> FileBrowserEntry::editedIcon; Glib::RefPtr<Gdk::Pixbuf> FileBrowserEntry::editedIcon;
Glib::RefPtr<Gdk::Pixbuf> FileBrowserEntry::recentlySavedIcon; Glib::RefPtr<Gdk::Pixbuf> FileBrowserEntry::recentlySavedIcon;
Glib::RefPtr<Gdk::Pixbuf> FileBrowserEntry::enqueuedIcon; Glib::RefPtr<Gdk::Pixbuf> FileBrowserEntry::enqueuedIcon;
@@ -58,15 +57,6 @@ FileBrowserEntry::FileBrowserEntry (Thumbnail* thm, const Glib::ustring& fname)
scale = 1; scale = 1;
if (!iconsLoaded) {
editedIcon = RTImage::createPixbufFromFile ("tick-small.png");
recentlySavedIcon = RTImage::createPixbufFromFile ("save-small.png");
enqueuedIcon = RTImage::createPixbufFromFile ("gears-small.png");
hdr = RTImage::createPixbufFromFile ("filetype-hdr.png");
ps = RTImage::createPixbufFromFile ("filetype-ps.png");
iconsLoaded = true;
}
thumbnail->addThumbnailListener (this); thumbnail->addThumbnailListener (this);
} }
@@ -90,6 +80,15 @@ FileBrowserEntry::~FileBrowserEntry ()
} }
} }
void FileBrowserEntry::init ()
{
editedIcon = RTImage::createPixbufFromFile ("tick-small.png");
recentlySavedIcon = RTImage::createPixbufFromFile ("save-small.png");
enqueuedIcon = RTImage::createPixbufFromFile ("gears-small.png");
hdr = RTImage::createPixbufFromFile ("filetype-hdr.png");
ps = RTImage::createPixbufFromFile ("filetype-ps.png");
}
void FileBrowserEntry::refreshThumbnailImage () void FileBrowserEntry::refreshThumbnailImage ()
{ {

View File

@@ -50,7 +50,6 @@ class FileBrowserEntry final : public ThumbBrowserEntryBase,
{ {
double scale; double scale;
static bool iconsLoaded;
bool wasInside; bool wasInside;
ImageAreaToolListener* iatlistener; ImageAreaToolListener* iatlistener;
int press_x, press_y, action_x, action_y; int press_x, press_y, action_x, action_y;
@@ -80,6 +79,7 @@ public:
FileBrowserEntry (Thumbnail* thm, const Glib::ustring& fname); FileBrowserEntry (Thumbnail* thm, const Glib::ustring& fname);
~FileBrowserEntry () override; ~FileBrowserEntry () override;
static void init ();
void draw (Cairo::RefPtr<Cairo::Context> cc) override; void draw (Cairo::RefPtr<Cairo::Context> cc) override;
void setImageAreaToolListener (ImageAreaToolListener* l) void setImageAreaToolListener (ImageAreaToolListener* l)

View File

@@ -241,6 +241,7 @@ RTWindow::RTWindow ()
RTImage::init(); RTImage::init();
WhiteBalance::init(); WhiteBalance::init();
MyExpander::init(); MyExpander::init();
FileBrowserEntry::init();
#ifndef WIN32 #ifndef WIN32
const std::vector<Glib::RefPtr<Gdk::Pixbuf>> appIcons = { const std::vector<Glib::RefPtr<Gdk::Pixbuf>> appIcons = {