- hTheme = OpenThemeData(hWnd, L"dead:beef;explorer::treeview");
Sorry if I gave you the wrong suggestion. But we should use :: between dead and beef.
Using "dead::beef" instead of "dead:beef" makes OpenThemeData() call to fail under Windows. Under Wine (after adding support for parsing "app::class") this call succeeds. It looks like OpenThemeData() should fail when first element contains invalid data, however I believe that fixing this case doesn't belong to this MR, it already starts to include not related things like fixing SetWindowTheme/OpenThemeData sequence.