Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/xwt.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'Xwt.Gtk/Xwt.GtkBackend/ButtonBackend.cs')
-rw-r--r--Xwt.Gtk/Xwt.GtkBackend/ButtonBackend.cs9
1 files changed, 7 insertions, 2 deletions
diff --git a/Xwt.Gtk/Xwt.GtkBackend/ButtonBackend.cs b/Xwt.Gtk/Xwt.GtkBackend/ButtonBackend.cs
index e0ab8e77..71c80ff4 100644
--- a/Xwt.Gtk/Xwt.GtkBackend/ButtonBackend.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend/ButtonBackend.cs
@@ -130,6 +130,8 @@ namespace Xwt.GtkBackend
if (image.Backend != null)
imageWidget = new ImageBox (ApplicationContext, image.WithDefaultSize (Gtk.IconSize.Button));
+ labelWidget.Realized -= HandleStyleUpdate;
+ labelWidget.StyleSet -= HandleStyleUpdate;
labelWidget = null;
if (label != null && imageWidget == null) {
@@ -209,6 +211,8 @@ namespace Xwt.GtkBackend
Widget.Label = null;
Widget.Image = labelWidget;
}
+ labelWidget.Realized -= HandleStyleUpdate;
+ labelWidget.StyleSet -= HandleStyleUpdate;
formattedText = label;
labelWidget.ApplyFormattedText (formattedText);
@@ -252,7 +256,7 @@ namespace Xwt.GtkBackend
public void SetFormattedText (FormattedText text)
{
- SetContent (text.Text, Widget.UseUnderline, this.image, ContentPosition.Center);
+ SetContent (text?.Text, Widget.UseUnderline, this.image, ContentPosition.Center);
SetFormattedContent (text, ContentPosition.Center);
}
@@ -310,9 +314,10 @@ namespace Xwt.GtkBackend
protected override void Dispose (bool disposing)
{
- if (labelWidget != null) {
+ if (disposing && labelWidget != null) {
labelWidget.Realized -= HandleStyleUpdate;
labelWidget.StyleSet -= HandleStyleUpdate;
+ labelWidget = null;
}
base.Dispose (disposing);
}