mirror of
https://github.com/goatcorp/Dalamud.git
synced 2025-12-13 12:14:16 +01:00
fix: don't use tables for the installer layout, more ImRaii conversion
Apparently children inside tables is UB
This commit is contained in:
parent
30176e61f5
commit
5a76f3ebe5
2 changed files with 31 additions and 40 deletions
|
|
@ -392,7 +392,8 @@ internal class PluginInstallerWindow : Window, IDisposable
|
||||||
var windowSize = ImGui.GetWindowSize();
|
var windowSize = ImGui.GetWindowSize();
|
||||||
var titleHeight = ImGui.GetFontSize() + (ImGui.GetStyle().FramePadding.Y * 2);
|
var titleHeight = ImGui.GetFontSize() + (ImGui.GetStyle().FramePadding.Y * 2);
|
||||||
|
|
||||||
if (ImGui.BeginChild("###installerLoadingFrame", new Vector2(-1, -1), false))
|
using var loadingChild = ImRaii.Child("###installerLoadingFrame", new Vector2(-1, -1), false);
|
||||||
|
if (loadingChild)
|
||||||
{
|
{
|
||||||
ImGui.GetWindowDrawList().PushClipRectFullScreen();
|
ImGui.GetWindowDrawList().PushClipRectFullScreen();
|
||||||
ImGui.GetWindowDrawList().AddRectFilled(
|
ImGui.GetWindowDrawList().AddRectFilled(
|
||||||
|
|
@ -480,8 +481,6 @@ internal class PluginInstallerWindow : Window, IDisposable
|
||||||
ImGuiHelpers.CenteredText("One of your plugins may be blocking the installer.");
|
ImGuiHelpers.CenteredText("One of your plugins may be blocking the installer.");
|
||||||
ImGui.PopStyleColor();
|
ImGui.PopStyleColor();
|
||||||
}
|
}
|
||||||
|
|
||||||
ImGui.EndChild();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1110,47 +1109,41 @@ internal class PluginInstallerWindow : Window, IDisposable
|
||||||
|
|
||||||
var useContentWidth = ImGui.GetContentRegionAvail().X;
|
var useContentWidth = ImGui.GetContentRegionAvail().X;
|
||||||
|
|
||||||
using var categoriesChild = ImRaii.Child("InstallerCategories", new Vector2(useContentWidth, useContentHeight * ImGuiHelpers.GlobalScale));
|
using var installerMainChild = ImRaii.Child("InstallerCategories", new Vector2(useContentWidth, useContentHeight * ImGuiHelpers.GlobalScale));
|
||||||
if (categoriesChild)
|
if (installerMainChild)
|
||||||
{
|
{
|
||||||
using var style = ImRaii.PushStyle(ImGuiStyleVar.CellPadding, ImGuiHelpers.ScaledVector2(5, 0));
|
using var style = ImRaii.PushStyle(ImGuiStyleVar.CellPadding, ImGuiHelpers.ScaledVector2(5, 0));
|
||||||
using var table = ImRaii.Table(
|
|
||||||
"##InstallerCategoriesCont",
|
try
|
||||||
2,
|
|
||||||
ImGuiTableFlags.SizingFixedFit | ImGuiTableFlags.Resizable | ImGuiTableFlags.BordersInnerV);
|
|
||||||
|
|
||||||
if (table)
|
|
||||||
{
|
{
|
||||||
try
|
using (var categoriesChild = ImRaii.Child("InstallerCategoriesSelector", new Vector2(useMenuWidth * ImGuiHelpers.GlobalScale, -1), false))
|
||||||
{
|
{
|
||||||
ImGui.TableSetupColumn("##InstallerCategoriesSelector", ImGuiTableColumnFlags.WidthFixed, useMenuWidth * ImGuiHelpers.GlobalScale);
|
if (categoriesChild)
|
||||||
ImGui.TableSetupColumn("##InstallerCategoriesBody", ImGuiTableColumnFlags.WidthStretch);
|
|
||||||
ImGui.TableNextRow();
|
|
||||||
|
|
||||||
ImGui.TableNextColumn();
|
|
||||||
this.DrawPluginCategorySelectors();
|
|
||||||
|
|
||||||
ImGui.TableNextColumn();
|
|
||||||
|
|
||||||
using var scrollingChild =
|
|
||||||
ImRaii.Child("ScrollingPlugins", new Vector2(-1, 0), false, ImGuiWindowFlags.NoBackground);
|
|
||||||
if (scrollingChild)
|
|
||||||
{
|
{
|
||||||
try
|
this.DrawPluginCategorySelectors();
|
||||||
{
|
|
||||||
this.DrawPluginCategoryContent();
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
Log.Error(ex, "Could not draw category content");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
|
||||||
|
ImGui.SameLine();
|
||||||
|
|
||||||
|
using var scrollingChild =
|
||||||
|
ImRaii.Child("ScrollingPlugins", new Vector2(-1, -1), false, ImGuiWindowFlags.NoBackground);
|
||||||
|
if (scrollingChild)
|
||||||
{
|
{
|
||||||
Log.Error(ex, "Could not draw plugin categories");
|
try
|
||||||
|
{
|
||||||
|
this.DrawPluginCategoryContent();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Log.Error(ex, "Could not draw category content");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Log.Error(ex, "Could not draw plugin categories");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -107,7 +107,8 @@ internal class ProfileManagerWidget
|
||||||
|
|
||||||
var windowSize = ImGui.GetWindowSize();
|
var windowSize = ImGui.GetWindowSize();
|
||||||
|
|
||||||
if (ImGui.BeginChild("###profileChooserScrolling"))
|
using var profileChooserChild = ImRaii.Child("###profileChooserScrolling");
|
||||||
|
if (profileChooserChild)
|
||||||
{
|
{
|
||||||
Guid? toCloneGuid = null;
|
Guid? toCloneGuid = null;
|
||||||
|
|
||||||
|
|
@ -180,8 +181,6 @@ internal class ProfileManagerWidget
|
||||||
ImGuiHelpers.CenteredText(Locs.AddProfileHint);
|
ImGuiHelpers.CenteredText(Locs.AddProfileHint);
|
||||||
ImGui.PopStyleColor();
|
ImGui.PopStyleColor();
|
||||||
}
|
}
|
||||||
|
|
||||||
ImGui.EndChild();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -325,7 +324,8 @@ internal class ProfileManagerWidget
|
||||||
ImGui.Separator();
|
ImGui.Separator();
|
||||||
var wantPluginAddPopup = false;
|
var wantPluginAddPopup = false;
|
||||||
|
|
||||||
if (ImGui.BeginChild("###profileEditorPluginList"))
|
using var pluginListChild = ImRaii.Child("###profileEditorPluginList");
|
||||||
|
if (pluginListChild)
|
||||||
{
|
{
|
||||||
var pluginLineHeight = 32 * ImGuiHelpers.GlobalScale;
|
var pluginLineHeight = 32 * ImGuiHelpers.GlobalScale;
|
||||||
string? wantRemovePluginInternalName = null;
|
string? wantRemovePluginInternalName = null;
|
||||||
|
|
@ -439,8 +439,6 @@ internal class ProfileManagerWidget
|
||||||
ImGui.TextUnformatted(addPluginsText);
|
ImGui.TextUnformatted(addPluginsText);
|
||||||
|
|
||||||
ImGuiHelpers.ScaledDummy(10);
|
ImGuiHelpers.ScaledDummy(10);
|
||||||
|
|
||||||
ImGui.EndChild();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (wantPluginAddPopup)
|
if (wantPluginAddPopup)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue