+ fix crash when Complete workbench is loaded and toggling construction mode

This commit is contained in:
wmayer 2016-07-02 12:32:16 +02:00
parent acfe41706c
commit f86a4e411f
2 changed files with 52 additions and 20 deletions

View File

@ -829,9 +829,11 @@ void CmdSketcherConstrainLock::updateAction(int mode)
{ {
switch (mode) { switch (mode) {
case Reference: case Reference:
if (getAction())
getAction()->setIcon(Gui::BitmapFactory().pixmap("Sketcher_ConstrainLock_Driven")); getAction()->setIcon(Gui::BitmapFactory().pixmap("Sketcher_ConstrainLock_Driven"));
break; break;
case Driving: case Driving:
if (getAction())
getAction()->setIcon(Gui::BitmapFactory().pixmap("Sketcher_ConstrainLock")); getAction()->setIcon(Gui::BitmapFactory().pixmap("Sketcher_ConstrainLock"));
break; break;
} }
@ -1100,9 +1102,11 @@ void CmdSketcherConstrainDistance::updateAction(int mode)
{ {
switch (mode) { switch (mode) {
case Reference: case Reference:
if (getAction())
getAction()->setIcon(Gui::BitmapFactory().pixmap("Constraint_Length_Driven")); getAction()->setIcon(Gui::BitmapFactory().pixmap("Constraint_Length_Driven"));
break; break;
case Driving: case Driving:
if (getAction())
getAction()->setIcon(Gui::BitmapFactory().pixmap("Constraint_Length")); getAction()->setIcon(Gui::BitmapFactory().pixmap("Constraint_Length"));
break; break;
} }
@ -1342,9 +1346,11 @@ void CmdSketcherConstrainDistanceX::updateAction(int mode)
{ {
switch (mode) { switch (mode) {
case Reference: case Reference:
if (getAction())
getAction()->setIcon(Gui::BitmapFactory().pixmap("Constraint_HorizontalDistance_Driven")); getAction()->setIcon(Gui::BitmapFactory().pixmap("Constraint_HorizontalDistance_Driven"));
break; break;
case Driving: case Driving:
if (getAction())
getAction()->setIcon(Gui::BitmapFactory().pixmap("Constraint_HorizontalDistance")); getAction()->setIcon(Gui::BitmapFactory().pixmap("Constraint_HorizontalDistance"));
break; break;
} }
@ -1497,9 +1503,11 @@ void CmdSketcherConstrainDistanceY::updateAction(int mode)
{ {
switch (mode) { switch (mode) {
case Reference: case Reference:
if (getAction())
getAction()->setIcon(Gui::BitmapFactory().pixmap("Constraint_VerticalDistance_Driven")); getAction()->setIcon(Gui::BitmapFactory().pixmap("Constraint_VerticalDistance_Driven"));
break; break;
case Driving: case Driving:
if (getAction())
getAction()->setIcon(Gui::BitmapFactory().pixmap("Constraint_VerticalDistance")); getAction()->setIcon(Gui::BitmapFactory().pixmap("Constraint_VerticalDistance"));
break; break;
} }
@ -2493,9 +2501,11 @@ void CmdSketcherConstrainRadius::updateAction(int mode)
{ {
switch (mode) { switch (mode) {
case Reference: case Reference:
if (getAction())
getAction()->setIcon(Gui::BitmapFactory().pixmap("Constraint_Radius_Driven")); getAction()->setIcon(Gui::BitmapFactory().pixmap("Constraint_Radius_Driven"));
break; break;
case Driving: case Driving:
if (getAction())
getAction()->setIcon(Gui::BitmapFactory().pixmap("Constraint_Radius")); getAction()->setIcon(Gui::BitmapFactory().pixmap("Constraint_Radius"));
break; break;
} }
@ -2765,9 +2775,11 @@ void CmdSketcherConstrainAngle::updateAction(int mode)
{ {
switch (mode) { switch (mode) {
case Reference: case Reference:
if (getAction())
getAction()->setIcon(Gui::BitmapFactory().pixmap("Constraint_InternalAngle_Driven")); getAction()->setIcon(Gui::BitmapFactory().pixmap("Constraint_InternalAngle_Driven"));
break; break;
case Driving: case Driving:
if (getAction())
getAction()->setIcon(Gui::BitmapFactory().pixmap("Constraint_InternalAngle")); getAction()->setIcon(Gui::BitmapFactory().pixmap("Constraint_InternalAngle"));
break; break;
} }

View File

@ -328,9 +328,11 @@ void CmdSketcherCreateLine::updateAction(int mode)
{ {
switch (mode) { switch (mode) {
case Normal: case Normal:
if (getAction())
getAction()->setIcon(Gui::BitmapFactory().pixmap("Sketcher_CreateLine")); getAction()->setIcon(Gui::BitmapFactory().pixmap("Sketcher_CreateLine"));
break; break;
case Construction: case Construction:
if (getAction())
getAction()->setIcon(Gui::BitmapFactory().pixmap("Sketcher_CreateLine_Constr")); getAction()->setIcon(Gui::BitmapFactory().pixmap("Sketcher_CreateLine_Constr"));
break; break;
} }
@ -569,9 +571,11 @@ void CmdSketcherCreateRectangle::updateAction(int mode)
{ {
switch (mode) { switch (mode) {
case Normal: case Normal:
if (getAction())
getAction()->setIcon(Gui::BitmapFactory().pixmap("Sketcher_CreateRectangle")); getAction()->setIcon(Gui::BitmapFactory().pixmap("Sketcher_CreateRectangle"));
break; break;
case Construction: case Construction:
if (getAction())
getAction()->setIcon(Gui::BitmapFactory().pixmap("Sketcher_CreateRectangle_Constr")); getAction()->setIcon(Gui::BitmapFactory().pixmap("Sketcher_CreateRectangle_Constr"));
break; break;
} }
@ -1184,9 +1188,11 @@ void CmdSketcherCreatePolyline::updateAction(int mode)
{ {
switch (mode) { switch (mode) {
case Normal: case Normal:
if (getAction())
getAction()->setIcon(Gui::BitmapFactory().pixmap("Sketcher_CreatePolyline")); getAction()->setIcon(Gui::BitmapFactory().pixmap("Sketcher_CreatePolyline"));
break; break;
case Construction: case Construction:
if (getAction())
getAction()->setIcon(Gui::BitmapFactory().pixmap("Sketcher_CreatePolyline_Constr")); getAction()->setIcon(Gui::BitmapFactory().pixmap("Sketcher_CreatePolyline_Constr"));
break; break;
} }
@ -1826,6 +1832,9 @@ Gui::Action * CmdSketcherCompCreateArc::createAction(void)
void CmdSketcherCompCreateArc::updateAction(int mode) void CmdSketcherCompCreateArc::updateAction(int mode)
{ {
Gui::ActionGroup* pcAction = qobject_cast<Gui::ActionGroup*>(getAction()); Gui::ActionGroup* pcAction = qobject_cast<Gui::ActionGroup*>(getAction());
if (!pcAction)
return;
QList<QAction*> a = pcAction->actions(); QList<QAction*> a = pcAction->actions();
int index = pcAction->property("defaultAction").toInt(); int index = pcAction->property("defaultAction").toInt();
switch (mode) { switch (mode) {
@ -3399,6 +3408,9 @@ Gui::Action * CmdSketcherCompCreateConic::createAction(void)
void CmdSketcherCompCreateConic::updateAction(int mode) void CmdSketcherCompCreateConic::updateAction(int mode)
{ {
Gui::ActionGroup* pcAction = qobject_cast<Gui::ActionGroup*>(getAction()); Gui::ActionGroup* pcAction = qobject_cast<Gui::ActionGroup*>(getAction());
if (!pcAction)
return;
QList<QAction*> a = pcAction->actions(); QList<QAction*> a = pcAction->actions();
int index = pcAction->property("defaultAction").toInt(); int index = pcAction->property("defaultAction").toInt();
switch (mode) { switch (mode) {
@ -3752,6 +3764,9 @@ Gui::Action * CmdSketcherCompCreateCircle::createAction(void)
void CmdSketcherCompCreateCircle::updateAction(int mode) void CmdSketcherCompCreateCircle::updateAction(int mode)
{ {
Gui::ActionGroup* pcAction = qobject_cast<Gui::ActionGroup*>(getAction()); Gui::ActionGroup* pcAction = qobject_cast<Gui::ActionGroup*>(getAction());
if (!pcAction)
return;
QList<QAction*> a = pcAction->actions(); QList<QAction*> a = pcAction->actions();
int index = pcAction->property("defaultAction").toInt(); int index = pcAction->property("defaultAction").toInt();
switch (mode) { switch (mode) {
@ -4914,9 +4929,11 @@ void CmdSketcherCreateSlot::updateAction(int mode)
{ {
switch (mode) { switch (mode) {
case Normal: case Normal:
if (getAction())
getAction()->setIcon(Gui::BitmapFactory().pixmap("Sketcher_CreateSlot")); getAction()->setIcon(Gui::BitmapFactory().pixmap("Sketcher_CreateSlot"));
break; break;
case Construction: case Construction:
if (getAction())
getAction()->setIcon(Gui::BitmapFactory().pixmap("Sketcher_CreateSlot_Constr")); getAction()->setIcon(Gui::BitmapFactory().pixmap("Sketcher_CreateSlot_Constr"));
break; break;
} }
@ -5354,6 +5371,9 @@ Gui::Action * CmdSketcherCompCreateRegularPolygon::createAction(void)
void CmdSketcherCompCreateRegularPolygon::updateAction(int mode) void CmdSketcherCompCreateRegularPolygon::updateAction(int mode)
{ {
Gui::ActionGroup* pcAction = qobject_cast<Gui::ActionGroup*>(getAction()); Gui::ActionGroup* pcAction = qobject_cast<Gui::ActionGroup*>(getAction());
if (!pcAction)
return;
QList<QAction*> a = pcAction->actions(); QList<QAction*> a = pcAction->actions();
int index = pcAction->property("defaultAction").toInt(); int index = pcAction->property("defaultAction").toInt();
switch (mode) { switch (mode) {