Index: editors/fckeditor.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/wysiwyg/editors/fckeditor.inc,v
retrieving revision 1.15
diff -u -p -r1.15 fckeditor.inc
--- editors/fckeditor.inc	4 Jun 2009 00:53:10 -0000	1.15
+++ editors/fckeditor.inc	7 Jun 2009 01:18:23 -0000
@@ -150,7 +150,6 @@ function wysiwyg_fckeditor_settings($edi
       $settings['buttons'] = array($settings['buttons']);
     }
   }
-
   return $settings;
 }
 
@@ -172,12 +171,19 @@ function wysiwyg_fckeditor_themes($edito
 
 /**
  * Build a JS settings array of native external plugins that need to be loaded separately.
- *
- * @todo Required for FCKeditor?  If not, wysiwyg_add_plugin_settings() needs
- *   an overhaul.
  */
 function wysiwyg_fckeditor_plugin_settings($editor, $profile, $plugins) {
   $settings = array();
+  foreach ($plugins as $name => $plugin) {
+    if ((!empty($plugin['load']) || $plugin['load'] == TRUE) || (!empty($plugin['internal']) && !empty($plugin['path']))) {
+      if (!empty($plugin['path'])) {
+        $settings[$name]['path'] = base_path() . $plugin['path'];
+      }
+      if (!empty($plugin['languages'])) {
+        $settings[$name]['languages'] = $plugin['languages'];
+      }
+    }
+  }
   return $settings;
 }
 
Index: editors/js/fckeditor.config.js
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/wysiwyg/editors/js/fckeditor.config.js,v
retrieving revision 1.4
diff -u -p -r1.4 fckeditor.config.js
--- editors/js/fckeditor.config.js	26 Mar 2009 22:31:42 -0000	1.4
+++ editors/js/fckeditor.config.js	7 Jun 2009 01:18:24 -0000
@@ -11,6 +11,7 @@ Drupal = window.parent.Drupal;
  */
 var wysiwygFormat = FCKConfig.PageConfig.wysiwygFormat;
 var wysiwygSettings = Drupal.settings.wysiwyg.configs.fckeditor[wysiwygFormat];
+var pluginFormatSettings = Drupal.settings.wysiwyg.plugins[wysiwygFormat];
 
 /**
  * Apply format-specific settings.
@@ -39,7 +40,18 @@ Drupal.wysiwyg.editor.instance.fckeditor
  * - General plugin settings.
  * - A reference to this window so the plugin setup can access FCKConfig.
  */
-for (var plugin in Drupal.settings.wysiwyg.plugins[wysiwygFormat].drupal) {
-  Drupal.wysiwyg.editor.instance.fckeditor.addPlugin(plugin, Drupal.settings.wysiwyg.plugins[wysiwygFormat].drupal[plugin], Drupal.settings.wysiwyg.plugins.drupal[plugin], window);
+for (var plugin in pluginFormatSettings.drupal) {
+  Drupal.wysiwyg.editor.instance.fckeditor.addPlugin(plugin, pluginFormatSettings.drupal[plugin], Drupal.settings.wysiwyg.plugins.drupal[plugin], window);
 }
 
+/**
+ * Register native plugins for this input format.
+ *
+ * Parameters to Plugins.Add are:
+ * - Plugin name.
+ * - Languages the plugin is available in.
+ * - Location of the plugins folder. Plugin_name/fckeditor.js is appended.
+ */
+for (var plugin in pluginFormatSettings['native']) {
+  FCKConfig.Plugins.Add( plugin, pluginFormatSettings['native'][plugin].languages, pluginFormatSettings['native'][plugin].path);
+}
