Revert: use classloader instead of class as requestor for editor color schemes

This commit is contained in:
Konstantin Bulenkov
2018-07-20 10:47:26 +02:00
parent 39d4fe5e07
commit cc611fd192
3 changed files with 5 additions and 7 deletions
@@ -3,7 +3,6 @@ package com.intellij.configurationStore
import com.intellij.concurrency.ConcurrentCollectionFactory
import com.intellij.configurationStore.schemeManager.*
import com.intellij.ide.ui.UITheme
import com.intellij.openapi.application.ex.DecodeDefaultsUtil
import com.intellij.openapi.application.runUndoTransparentWriteAction
import com.intellij.openapi.components.RoamingType
@@ -112,7 +111,6 @@ class SchemeManagerImpl<T : Any, MUTABLE_SCHEME : T>(val fileSpec: String,
try {
val url = when (requestor) {
is AbstractExtensionPointBean -> requestor.loaderForClass.getResource(resourceName)
is UITheme -> DecodeDefaultsUtil.getDefaults(requestor.providerClassLoader, resourceName)
else -> DecodeDefaultsUtil.getDefaults(requestor, resourceName)
}
@@ -36,14 +36,14 @@ public class DecodeDefaultsUtil {
public static URL getDefaults(Object requestor, @NotNull String componentResourcePath) {
URL url = RESOURCE_CACHE.get(componentResourcePath);
if (url == null) {
ClassLoader loader = requestor instanceof ClassLoader ? (ClassLoader)requestor : requestor.getClass().getClassLoader();
Class<?> requestorClass = requestor instanceof Class ? (Class<?>)requestor : requestor.getClass();
if (StringUtil.startsWithChar(componentResourcePath, '/')) {
url = loader.getResource(appendExt(componentResourcePath));
url = requestorClass.getResource(appendExt(componentResourcePath));
}
else {
url = loader.getResource(appendExt('/' + ApplicationManagerEx.getApplicationEx().getName() + '/' + componentResourcePath));
url = requestorClass.getResource(appendExt('/' + ApplicationManagerEx.getApplicationEx().getName() + '/' + componentResourcePath));
if (url == null) {
url = loader.getResource(appendExt('/' + componentResourcePath));
url = requestorClass.getResource(appendExt('/' + componentResourcePath));
}
}
RESOURCE_CACHE.put(componentResourcePath, url);
@@ -185,7 +185,7 @@ public class EditorColorsManagerImpl extends EditorColorsManager implements Pers
UITheme theme = ((UIThemeBasedLookAndFeelInfo)laf).getTheme();
String path = theme.getEditorScheme();
if (path != null) {
mySchemeManager.loadBundledScheme(path, theme);
mySchemeManager.loadBundledScheme(path, theme.getProviderClassLoader());
}
}
}