X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcec-config-gui%2FAsyncForm.cs;h=ab9afdd3ce7557b732a1827fe5845bf050345252;hb=5b8c27619d881cf9f7f83123e8ded59b137d4e5d;hp=4584d755c79a595ea2c4989add5ce2595fe29178;hpb=5de1dde470c394fc45791fbb747fdf8ad6e73b2a;p=deb_libcec.git diff --git a/src/cec-config-gui/AsyncForm.cs b/src/cec-config-gui/AsyncForm.cs index 4584d75..ab9afdd 100644 --- a/src/cec-config-gui/AsyncForm.cs +++ b/src/cec-config-gui/AsyncForm.cs @@ -114,5 +114,26 @@ namespace CecConfigGui control.Visible = val; } } + + delegate void DisplayDialogCallback(Form control, bool modal); + public void DisplayDialog(Form control, bool modal) + { + if (this.InvokeRequired) + { + DisplayDialogCallback d = new DisplayDialogCallback(DisplayDialog); + try + { + this.Invoke(d, new object[] { control, modal }); + } + catch (Exception) { } + } + else + { + if (modal) + control.ShowDialog(this); + else + control.Show(this); + } + } } }