mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Use available MD provider when preferred isn't available
Since we do not have JCEF bundled in Android Studio's JBR we run into an issue where the first time a markdown panel is attempted to be created it will instead be an empty panel. It works for subsequent calls as the setting gets persisted. While JCEFHtmlPanelProvider returns false for canBeUsed in Studio, this method isn't called until it is already attempted to be created. It's known that the ComposePanelProvider is not fully stable, but it is a better alternative than no render support in Android Studio. Test: manual Fixes: 447223197 Change-Id: If05c692338a8d3bcadd5dd5235ae4b1e7707b467 closes https://github.com/JetBrains/intellij-community/pull/3266 GitOrigin-RevId: eafa9be776aff739b544c4d3c3eb3b78a5a5bb4e
This commit is contained in:
committed by
intellij-monorepo-bot
parent
82459b97df
commit
97bc33a07f
+2
-1
@@ -186,7 +186,7 @@ class MarkdownPreviewFileEditor(
|
||||
|
||||
private fun retrievePanelProvider(settings: MarkdownSettings): MarkdownHtmlPanelProvider {
|
||||
val providerInfo = settings.previewPanelProviderInfo
|
||||
val preferredProvider = MarkdownHtmlPanelProvider.createFromInfo(providerInfo)
|
||||
var preferredProvider = MarkdownHtmlPanelProvider.createFromInfo(providerInfo)
|
||||
if (preferredProvider.isAvailable() !== MarkdownHtmlPanelProvider.AvailabilityInfo.AVAILABLE) {
|
||||
val registeredProviders = MarkdownHtmlPanelProvider.getProviders()
|
||||
val availableProvider = registeredProviders.firstOrNull { p: MarkdownHtmlPanelProvider -> p.isAvailable() === MarkdownHtmlPanelProvider.AvailabilityInfo.AVAILABLE }
|
||||
@@ -205,6 +205,7 @@ class MarkdownPreviewFileEditor(
|
||||
project
|
||||
)
|
||||
logger.warn("Cannot use preview panel provider '${providerInfo.name}'. Using the first one that is available: ${preferredProvider.providerInfo.name}")
|
||||
preferredProvider = availableProvider
|
||||
}
|
||||
}
|
||||
lastPanelProviderInfo = settings.previewPanelProviderInfo
|
||||
|
||||
Reference in New Issue
Block a user