I found out that this only applies if the global theme_settings variable exists. Global theme settings takes precedence over the exported theme-specific settings??

This is going to be a difficult one to explain. I started down this path when trying to figure out why changing the value of settings[logo_*] in my omega subtheme info file was not having any affect. Discoveries:

1) at the beginning of time, omega subthemes start out with no global settings exported. For purposes of this discussion, these are the global settings:

    [toggle_logo] => 1
    [toggle_name] => 1
    [toggle_slogan] => 1
    [toggle_node_user_picture] => 1
    [toggle_comment_user_picture] => 1
    [toggle_comment_user_verification] => 1
    [toggle_favicon] => 1
    [toggle_main_menu] => 1
    [toggle_secondary_menu] => 1
    [default_logo] => 1
    [logo_path] => 
    [logo_upload] => 
    [default_favicon] => 1
    [favicon_path] => 
    [favicon_upload] => 

2) once you 'save' the omega subtheme settings page, these global settings get copied into the theme_mythemename_settings variable along with all other omega theme settings
3) changing the overridden global settings directly in the serialized array in the database works as expected
4) exporting theme settings to the info file, notice that the new global settings that weren't in the info file before are now there!
5) notice that the overridden global settings in the info file have no affect, and that your customizations were lost

From what I can tell, overridden global theme settings are meant to be stored in the theme_themename_settings variable. Since the export / revert process copies that variable to the info file and deletes that variable, all the overridden global settings become lost. I'm not sure what the correct course of action is here...

1) we could not export the overridden global settings to the info file in the first place. At least there would be less confusion
2) reverting theme settings could be made to preserve the exported global settings and just remove the alpha/omega settings

Comments

joelcollinsdc’s picture

Issue summary: View changes

code

joelcollinsdc’s picture

Issue summary: View changes

formatting

joelcollinsdc’s picture

Status: Active » Closed (works as designed)

Wow, this is really confusing but it seems to work as designed.

from http://api.drupal.org/api/drupal/includes!theme.inc/function/theme_get_s...
The final setting is obtained from the last value found in the following sources:

the default global settings specified in this function
the default theme-specific settings defined in any base theme's .info file
the default theme-specific settings defined in the theme's .info file
the saved values from the global theme settings form
the saved values from the theme's settings form

So, if you have a theme_settings variable, then reverting theme settings using omega_tools only partially reverts the theme settings; particularly the ones that aren't in global.

joelcollinsdc’s picture

Issue summary: View changes

clarification