}\r
\r
if ( nativeContextMenuOnCtrl\r
- && ( evt.$.ctrlKey || evt.$.metaKey ) )\r
+ && ( CKEDITOR.env.mac ? evt.$.metaKey : evt.$.ctrlKey ) )\r
return;\r
\r
var target = evt.getTarget();\r
if ( nativeContextMenuOnCtrl &&\r
// Safari on Windows always show 'ctrlKey' as true in 'contextmenu' event,\r
// which make this property unreliable. (#4826)\r
- ( CKEDITOR.env.webkit ? holdCtrlKey : domEvent.$.ctrlKey || domEvent.$.metaKey ) )\r
+ ( CKEDITOR.env.webkit ? holdCtrlKey : ( CKEDITOR.env.mac ? domEvent.$.metaKey : domEvent.$.ctrlKey ) ) )\r
return;\r
\r
- // Selection will be unavailable after context menu shows up\r
- // in IE, lock it now.\r
- if ( CKEDITOR.env.ie )\r
- {\r
- var selection = this.editor.getSelection();\r
- selection && selection.lock();\r
- }\r
\r
// Cancel the browser context menu.\r
domEvent.preventDefault();\r
var holdCtrlKey,\r
onKeyDown = function( event )\r
{\r
- holdCtrlKey = event.data.$.ctrlKey || event.data.$.metaKey;\r
+ holdCtrlKey = CKEDITOR.env.mac ? event.data.$.metaKey : event.data.$.ctrlKey ;\r
},\r
resetOnKeyUp = function()\r
{\r
show : function( offsetParent, corner, offsetX, offsetY )\r
{\r
this.editor.focus();\r
+\r
+ // Selection will be unavailable after context menu shows up\r
+ // in IE, lock it now.\r
+ if ( CKEDITOR.env.ie )\r
+ {\r
+ var selection = this.editor.getSelection();\r
+ selection && selection.lock();\r
+ }\r
+\r
this._.onMenu( offsetParent || CKEDITOR.document.getDocumentElement(), corner, offsetX || 0, offsetY || 0 );\r
}\r
}\r