summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mainwin.cc9
-rw-r--r--src/openscad.cc8
2 files changed, 17 insertions, 0 deletions
diff --git a/src/mainwin.cc b/src/mainwin.cc
index b277d1f..fc26799 100644
--- a/src/mainwin.cc
+++ b/src/mainwin.cc
@@ -198,11 +198,20 @@ MainWindow::MainWindow(const char *filename)
this, SLOT(clearRecentFiles()));
if (!examplesdir.isEmpty()) {
+ bool found_example = false;
QStringList examples = QDir(examplesdir).entryList(QStringList("*.scad"),
QDir::Files | QDir::Readable, QDir::Name);
foreach (const QString &ex, examples) {
this->menuExamples->addAction(ex, this, SLOT(actionOpenExample()));
+ found_example = true;
}
+ if (!found_example) {
+ delete this->menuExamples;
+ this->menuExamples = NULL;
+ }
+ } else {
+ delete this->menuExamples;
+ this->menuExamples = NULL;
}
// Edit menu
diff --git a/src/openscad.cc b/src/openscad.cc
index f2e1afc..0afc39e 100644
--- a/src/openscad.cc
+++ b/src/openscad.cc
@@ -166,6 +166,14 @@ int main(int argc, char **argv)
exdir.cd("../Resources"); // Examples can be bundled
if (!exdir.exists("examples")) exdir.cd("../../..");
#endif
+#ifdef linux
+ if (exdir.cd("../../examples")) {
+ examplesdir = exdir.path();
+ } else
+ if (exdir.cd("../../share/openscad/examples")) {
+ examplesdir = exdir.path();
+ } else
+#endif
if (exdir.cd("examples")) {
examplesdir = exdir.path();
}
contact: Jan Huwald // Impressum