Index: editors/js/tinymce-3.js
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/wysiwyg/editors/js/tinymce-3.js,v
retrieving revision 1.17
diff -u -p -r1.17 tinymce-3.js
--- editors/js/tinymce-3.js	13 Jun 2009 01:14:43 -0000	1.17
+++ editors/js/tinymce-3.js	19 Jan 2010 23:37:57 -0000
@@ -106,7 +106,9 @@ Drupal.wysiwyg.editor.instance.tinymce =
         ed.addCommand(plugin, function() {
           if (typeof Drupal.wysiwyg.plugins[plugin].invoke == 'function') {
             var data = { format: 'html', node: ed.selection.getNode(), content: ed.selection.getContent() };
-            Drupal.wysiwyg.plugins[plugin].invoke(data, pluginSettings, ed.id);
+            // TinyMCE creates a completely new instance for fullscreen mode.
+            var instanceId = ed.id == 'mce_fullscreen' ? ed.getParam('fullscreen_editor_id') : ed.id;
+            Drupal.wysiwyg.plugins[plugin].invoke(data, pluginSettings, instanceId);
           }
         });
 
@@ -163,9 +165,10 @@ Drupal.wysiwyg.editor.instance.tinymce =
   },
 
   openDialog: function(dialog, params) {
-    var editor = tinyMCE.get(this.field);
+    var instanceId = this.isFullscreen() ? 'mce_fullscreen' : this.field;
+    var editor = tinyMCE.get(instanceId);
     editor.windowManager.open({
-      file: dialog.url + '/' + this.field,
+      file: dialog.url + '/' + instanceId,
       width: dialog.width,
       height: dialog.height,
       inline: 1
@@ -173,7 +176,8 @@ Drupal.wysiwyg.editor.instance.tinymce =
   },
 
   closeDialog: function(dialog) {
-    var editor = tinyMCE.get(this.field);
+    var instanceId = this.isFullscreen() ? 'mce_fullscreen' : this.field;
+    var editor = tinyMCE.get(instanceId);
     editor.windowManager.close(dialog);
   },
 
@@ -208,7 +212,13 @@ Drupal.wysiwyg.editor.instance.tinymce =
 
   insert: function(content) {
     content = this.prepareContent(content);
-    tinyMCE.execInstanceCommand(this.field, 'mceInsertContent', false, content);
-  }
+    var instanceId = this.isFullscreen() ? 'mce_fullscreen' : this.field;
+    tinyMCE.execInstanceCommand(instanceId, 'mceInsertContent', false, content);
+  },
+
+  isFullscreen: function() {
+    // TinyMCE creates a completely new instance for fullscreen mode.
+    return tinyMCE.activeEditor.id == 'mce_fullscreen' && tinyMCE.activeEditor.getParam('fullscreen_editor_id') == this.field;
+  } 
 };
 
