Index: /as3/gunyarapaint/trunk/gunyarapaint/src/gunyarapaint.as =================================================================== --- /as3/gunyarapaint/trunk/gunyarapaint/src/gunyarapaint.as (リビジョン 1656) +++ /as3/gunyarapaint/trunk/gunyarapaint/src/gunyarapaint.as (リビジョン 1740) @@ -382,8 +382,8 @@ switch (evt.keyCode) { case Keyboard.CONTROL: - penDetailWindow.penDetail.setTool(GPPen.PEN_MODE_DROPPER, null, false); + penDetailWindow.penDetail.resetPenTool(); break; case Keyboard.SPACE: - penDetailWindow.penDetail.setTool(GPPen.PEN_MODE_HANDTOOL, null, false); + penDetailWindow.penDetail.resetPenTool(); break; return; Index: /as3/gunyarapaint/trunk/gunyarapaint/src/org/libspark/gunyarapaint/controls/PenDetailControlScript.as =================================================================== --- /as3/gunyarapaint/trunk/gunyarapaint/src/org/libspark/gunyarapaint/controls/PenDetailControlScript.as (リビジョン 1547) +++ /as3/gunyarapaint/trunk/gunyarapaint/src/org/libspark/gunyarapaint/controls/PenDetailControlScript.as (リビジョン 1740) @@ -113,4 +113,17 @@ gridItemPalette.setStyle('backgroundColor', color); PopUpManager.removePopUp(IFlexDisplayObject(evt.target)); + } +} + +// Ctrlとかのショートカットキーで変わったペンToolを戻す +public function resetPenTool():void { + if (dropperButton.selected) { + setTool(GPPen.PEN_MODE_DROPPER, null, true); + } else if (handtoolButton.selected) { + setTool(GPPen.PEN_MODE_HANDTOOL, null, true); + } else if (dotButton.selected) { + setTool(GPPen.PEN_MODE_PIXEL, null, true); + } else { + _logger.eventSetPenMode(uint(penModeComboBox.value)); } } Index: /as3/gunyarapaint/trunk/gunyarapaint/src/org/libspark/gunyarapaint/entities/GPLogger.as =================================================================== --- /as3/gunyarapaint/trunk/gunyarapaint/src/org/libspark/gunyarapaint/entities/GPLogger.as (リビジョン 1654) +++ /as3/gunyarapaint/trunk/gunyarapaint/src/org/libspark/gunyarapaint/entities/GPLogger.as (リビジョン 1740) @@ -1021,9 +1021,5 @@ // logging } - _pen.mode = mode; - - invokePenChange(); - - if (_canvas) { + if (_canvas && _pen.mode != mode) { switch (mode) { case GPPen.PEN_MODE_DROPPER: @@ -1038,4 +1034,5 @@ break; case GPPen.PEN_MODE_PIXEL: + _canvas.setCursor(null); break; default: @@ -1046,4 +1043,7 @@ } } + _pen.mode = mode; + + invokePenChange(); }