Index: media.browser.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/media/media.browser.inc,v
retrieving revision 1.18
diff -u -p -r1.18 media.browser.inc
--- media.browser.inc	16 Sep 2010 20:07:39 -0000	1.18
+++ media.browser.inc	16 Sep 2010 23:29:11 -0000
@@ -38,8 +38,11 @@ function media_browser($selected = NULL)
   // Normal browser operation.
   foreach (module_implements('media_browser_plugin_info') as $module) {
     foreach(module_invoke($module, 'media_browser_plugin_info') as $key => $plugin_data) {
-      $plugins[$key] = $plugin_data;
-      $plugins[$key]['#module'] = $module;
+      $plugins[$key] = $plugin_data + array(
+        '#module' => $module,
+        '#weight' => 0,
+      );
+      $plugins[$key]['#weight'] += count($plugins)/1000;
     }
   }
   
@@ -61,7 +64,7 @@ function media_browser($selected = NULL)
   $browser_settings =& $settings['media']['browser'];
 
   //@todo: replace with Tabs module if it gets upgraded.
-  foreach (element_children($plugins) as $key) {
+  foreach (element_children($plugins, TRUE) as $key) {
     $plugin =& $plugins[$key];
 
     //Add any JS settings
@@ -188,8 +191,10 @@ function media_browser_list() {
 function media_media_browser_plugin_info() {
   $plugins = array(
     'upload' => array(
+      '#weight' => -10,
      ),
     'library' => array(
+      '#weight' => 10,
      ),
    );
   return $plugins;
