Skip to content

Commit 9d29a18

Browse files
authored
* "Populate from Base" task freezes Visual Studio (V105 LTS) (#2992)
* Resolved #2927 - V105 LTS
2 parents 29d68da + 136a997 commit 9d29a18

File tree

4 files changed

+23
-2
lines changed

4 files changed

+23
-2
lines changed

Documents/Changelog/Changelog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
## 2026-04-20 - Build 2604 (Version 105-LTS - Patch 2) - April 2026
66

7+
* Resolved [#2927](https://github.com/Krypton-Suite/Standard-Toolkit/issues/2927), "Populate from Base" task freezes Visual Studio
78
* Resolved [#2132](https://github.com/Krypton-Suite/Standard-Toolkit/issues/2132), Drag feedback artifact: when dragging a dockable page, a small dark artefact appeared in the top-left corner of the screen. The drop feedback window (`DropSolidWindow`) was created at (0,0); it is now positioned off-screen initially and when no drop target is matched.
89
* Implemented [#2952](https://github.com/Krypton-Suite/Standard-Toolkit/issues/2962), Set license header via `editorconfig`
910
* Resolved [#2935](https://github.com/Krypton-Suite/Standard-Toolkit/issues/2935), Maximized MDI window form border drawn on wrong monitor (secondary monitor); `DropSolidWindow` now uses screen coordinates for `DesktopBounds`; non-client border painting uses a DC compatible with the window's monitor

Source/Krypton Components/Krypton.Toolkit/Controls Toolkit/KryptonCustomPaletteBase.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1966,6 +1966,16 @@ public void ResetToDefaults(bool silent)
19661966
{
19671967
ResetOperation(null);
19681968
}
1969+
else if (this.InDesignMode())
1970+
{
1971+
// In design mode (e.g. VS designer), run synchronously to avoid PerformOperation
1972+
// deadlock/freeze with ModalWaitDialog and worker thread (see issue #2927)
1973+
ResetOperation(null);
1974+
1975+
KryptonMessageBox.Show("Reset of palette is completed.",
1976+
"Palette Reset",
1977+
KryptonMessageBoxButtons.OK);
1978+
}
19691979
else
19701980
{
19711981
// Perform the reset operation on a separate worker thread
@@ -2008,6 +2018,16 @@ public void PopulateFromBase(bool silent)
20082018
{
20092019
PopulateFromBaseOperation(null);
20102020
}
2021+
else if (this.InDesignMode())
2022+
{
2023+
// In design mode (e.g. VS designer), run synchronously to avoid PerformOperation
2024+
// deadlock/freeze with ModalWaitDialog and worker thread (see issue #2927)
2025+
PopulateFromBaseOperation(null);
2026+
2027+
KryptonMessageBox.Show("Relevant values have been populated.",
2028+
"Populate Values",
2029+
KryptonMessageBoxButtons.OK);
2030+
}
20112031
else
20122032
{
20132033
// Perform the reset operation on a separate worker thread

Source/Krypton Components/Krypton.Toolkit/Controls Visuals/RTL Aware/VisualMessageBoxRtlAwareForm.Designer.cs

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Source/Krypton Components/Krypton.Toolkit/Controls Visuals/VisualMessageBoxForm.Designer.cs

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)