Attempt to fix buttons' labels being invisible on some Forms

The "workaround" in question is `GTK_DATA_PREFIX='' ./EmuHawkMono.sh`,
which I'll be recommending in the short term until I can figure out how
to load or not load it. (Though `GTK_DATA_PREFIX` is likely part of the
answer).
This commit is contained in:
YoshiRulz 2024-09-06 17:28:29 +10:00
parent a13333b965
commit 404f28fa64
No known key found for this signature in database
GPG Key ID: C4DE31C245353FB7
1 changed files with 3 additions and 1 deletions

View File

@ -13,6 +13,8 @@ namespace BizHawk.Client.EmuHawk
{
private const string PLACEHOLDER_TITLE = "(will take value from WindowTitle/WindowTitleStatic)";
private static readonly bool IsUsingGTKThemeWorkaround = string.IsNullOrWhiteSpace(Environment.GetEnvironmentVariable("GTK_DATA_PREFIX") ?? "UNSET");
/// <summary>
/// Under Mono, <see cref="SystemColors.Control">SystemColors.Control</see> returns an ugly beige.<br/>
/// This method recursively replaces the <see cref="Control.BackColor"/> of the given <paramref name="control"/> (can be a <see cref="Form"/>) with <see cref="Color.WhiteSmoke"/>
@ -76,7 +78,7 @@ namespace BizHawk.Client.EmuHawk
Close();
return;
}
if (OSTailoredCode.IsUnixHost) FixBackColorOnControls(this);
if (OSTailoredCode.IsUnixHost && !IsUsingGTKThemeWorkaround) FixBackColorOnControls(this);
UpdateWindowTitle();
}