diff --git a/Source/Ember/Variations02.h b/Source/Ember/Variations02.h
index 45df4af..52f45a5 100644
--- a/Source/Ember/Variations02.h
+++ b/Source/Ember/Variations02.h
@@ -2726,7 +2726,7 @@ public:
string inside = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
ss << "\t{\n"
- << "\t\treal_t r, delta = pow(precalcAtanyx / M_PI + 1, " << a << ");\n"
+ << "\t\treal_t r, delta = pow(precalcAtanyx / (real_t)M_PI + 1, " << a << ");\n"
<< "\n"
<< "\t\tif (" << inside << " != 0)\n"
<< "\t\t r = xform->m_VariationWeights[" << varIndex << "] * delta / (precalcSqrtSumSquares + delta);\n"
diff --git a/Source/Fractorium/Fractorium.ui b/Source/Fractorium/Fractorium.ui
index 5dde5b0..2bd0bb0 100644
--- a/Source/Fractorium/Fractorium.ui
+++ b/Source/Fractorium/Fractorium.ui
@@ -6513,7 +6513,7 @@ SpinBox
Copy selected xforms to the clipboard
- Ctrl+Q
+ Ctrl+D
@@ -6524,7 +6524,7 @@ SpinBox
Paste copied xforms into the current flame
- Ctrl+W
+ Ctrl+S
diff --git a/Source/Fractorium/Main.cpp b/Source/Fractorium/Main.cpp
index 1b7c566..e929aee 100644
--- a/Source/Fractorium/Main.cpp
+++ b/Source/Fractorium/Main.cpp
@@ -44,9 +44,18 @@ int main(int argc, char *argv[])
"}" );
#endif
- Fractorium w;
- w.show();
- a.installEventFilter(&w);
- return a.exec();
+ int rv = -1;
+
+ try
+ {
+ Fractorium w;
+ w.show();
+ a.installEventFilter(&w);
+ rv = a.exec();
+ } catch (const char *e) {
+ QMessageBox::critical(0, "Fatal Error", e);
+ }
+
+ return rv;
}