diff -r dd99c089bf65 -r ce09771c85a9 LinkButton.st --- a/LinkButton.st Mon May 16 14:59:15 2016 +0200 +++ b/LinkButton.st Tue May 17 00:01:55 2016 +0200 @@ -114,7 +114,7 @@ !LinkButton methodsFor:'accessing'! actionAt:aPoint - |pressAction emphasis| + |pressAction emphasis pointInLabel| pressAction := self pressAction ifNil:[ self releaseAction ]. pressAction isNil ifTrue:[ @@ -123,7 +123,19 @@ labelsAndActions isNil ifTrue:[ "take action from logo, which is normally a text with an action-emphasis" logo notNil ifTrue:[ - emphasis := logo emphasisAtPoint:(aPoint - (labelOriginX@labelOriginY)) on:self. + pointInLabel := (aPoint - (labelOriginX@labelOriginY)). + logo isStringCollection ifTrue:[ + |lineIndex line pointInLine| + + lineIndex := (pointInLabel y // self font height) + 1. + line := logo at:lineIndex ifAbsent:nil. + line notNil ifTrue:[ + pointInLine := pointInLabel - (0 @ ((lineIndex - 1) * self font height)). + emphasis := line emphasisAtPoint:pointInLine on:self. + ]. + ] ifFalse:[ + emphasis := logo emphasisAtPoint:pointInLabel on:self. + ]. (emphasis isNil or:[emphasis isSymbol]) ifTrue:[ ^ pressAction. ].