Skip to content

Commit 09a2160

Browse files
authored
Merge pull request The-OpenROAD-Project#8720 from hongted/gui-singleton
gui: Updated singleton pattern for gui::Gui::get().
2 parents feb144d + eaed5db commit 09a2160

File tree

4 files changed

+10
-12
lines changed

4 files changed

+10
-12
lines changed

src/gpl/src/MakeReplace.cpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55

66
#include "gpl/Replace.h"
77
#include "graphicsImpl.h"
8+
#include "graphicsNone.h"
9+
#include "gui/gui.h"
810
#include "tcl.h"
911
#include "utl/Logger.h"
1012
#include "utl/decode.h"
@@ -25,7 +27,11 @@ void initReplace(Tcl_Interp* tcl_interp)
2527

2628
void initReplaceGraphics(Replace* replace, utl::Logger* log)
2729
{
28-
replace->setGraphicsInterface(gpl::GraphicsImpl(log));
30+
if (gui::Gui::get() == nullptr) {
31+
replace->setGraphicsInterface(gpl::GraphicsNone());
32+
} else {
33+
replace->setGraphicsInterface(gpl::GraphicsImpl(log));
34+
}
2935
}
3036

3137
} // namespace gpl

src/gui/include/gui/gui.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -950,8 +950,6 @@ class Gui
950950
std::unique_ptr<GIF> gif_;
951951
static constexpr int kDefaultGifDelay = 250;
952952

953-
static Gui* singleton_;
954-
955953
std::string main_window_title_ = "OpenROAD";
956954
};
957955

src/gui/src/gui.cpp

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -208,15 +208,11 @@ static void resetConversions()
208208
= [](const std::string& value, bool*) { return 0; };
209209
}
210210

211-
Gui* Gui::singleton_ = nullptr;
212-
213211
Gui* Gui::get()
214212
{
215-
if (singleton_ == nullptr) {
216-
singleton_ = new Gui();
217-
}
213+
static Gui* singleton = new Gui();
218214

219-
return singleton_;
215+
return singleton;
220216
}
221217

222218
Gui::Gui()

src/gui/src/stub.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,6 @@ struct GifWriter
2424

2525
namespace gui {
2626

27-
Gui* Gui::singleton_ = nullptr;
28-
2927
// Used by toString to convert dbu to microns
3028
DBUToString Descriptor::Property::convert_dbu
3129
= [](int value, bool) { return std::to_string(value); };
@@ -54,7 +52,7 @@ Gui::Gui() : continue_after_close_(false), logger_(nullptr), db_(nullptr)
5452

5553
Gui* gui::Gui::get()
5654
{
57-
return singleton_;
55+
return nullptr;
5856
}
5957

6058
bool gui::Gui::enabled()

0 commit comments

Comments
 (0)