Merge pull request #193 from shun-iwasawa/fix_brush_tool_crash

Fix brush tool crash
This commit is contained in:
Keisuke Ogaki 2016-04-21 16:50:56 +09:00
commit 322ff72902

View file

@ -573,6 +573,7 @@ BrushTool::BrushTool(std::string name, int targetType)
#ifndef STUDENT #ifndef STUDENT
m_prop[0].bind(m_preset); m_prop[0].bind(m_preset);
m_preset.setId("BrushPreset"); m_preset.setId("BrushPreset");
m_preset.addValue(CUSTOM_WSTR);
#endif #endif
m_pressure.setId("PressureSensibility"); m_pressure.setId("PressureSensibility");
@ -1207,6 +1208,8 @@ void BrushTool::mouseMove(const TPointD &pos, const TMouseEvent &e)
void addMinMax(TDoublePairProperty &prop, double add) void addMinMax(TDoublePairProperty &prop, double add)
{ {
if (add == 0.0)
return;
const TDoublePairProperty::Range &range = prop.getRange(); const TDoublePairProperty::Range &range = prop.getRange();
TDoublePairProperty::Value value = prop.getValue(); TDoublePairProperty::Value value = prop.getValue();
@ -1396,14 +1399,8 @@ bool BrushTool::onPropertyChanged(std::string propertyName)
m_minThick = m_thickness.getValue().first; m_minThick = m_thickness.getValue().first;
m_maxThick = m_thickness.getValue().second; m_maxThick = m_thickness.getValue().second;
} }
if (m_preset.getValue() != L"<custom>")
m_preset.setValue(L"<custom>");
} else if (propertyName == m_accuracy.getName()) { } else if (propertyName == m_accuracy.getName()) {
BrushAccuracy = m_accuracy.getValue(); BrushAccuracy = m_accuracy.getValue();
if (m_preset.getValue() != L"<custom>")
m_preset.setValue(L"<custom>");
} else if (propertyName == m_preset.getName()) { } else if (propertyName == m_preset.getName()) {
loadPreset(); loadPreset();
notifyTool = true; notifyTool = true;
@ -1438,7 +1435,7 @@ bool BrushTool::onPropertyChanged(std::string propertyName)
} }
} }
if (m_preset.getValue() != CUSTOM_WSTR) { if (propertyName != m_preset.getName() && m_preset.getValue() != CUSTOM_WSTR) {
m_preset.setValue(CUSTOM_WSTR); m_preset.setValue(CUSTOM_WSTR);
notifyTool = true; notifyTool = true;
} }