[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dotgnu-pnet-commits] pnetlib ./ChangeLog System.Windows.Forms/Form.c...
From: |
Heiko Weiss |
Subject: |
[dotgnu-pnet-commits] pnetlib ./ChangeLog System.Windows.Forms/Form.c... |
Date: |
Tue, 14 Mar 2006 18:43:29 +0000 |
CVSROOT: /sources/dotgnu-pnet
Module name: pnetlib
Branch:
Changes by: Heiko Weiss <address@hidden> 06/03/14 18:43:29
Modified files:
. : ChangeLog
System.Windows.Forms: Form.cs
Xsharp : DoubleBuffer.cs Drawable.cs
Log message:
fixed open form with Form.ShowDialog.
fixed crash in DoubleBuffer.cs if widget handle was destroyed.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/dotgnu-pnet/pnetlib/ChangeLog.diff?tr1=1.2368&tr2=1.2369&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/dotgnu-pnet/pnetlib/System.Windows.Forms/Form.cs.diff?tr1=1.48&tr2=1.49&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/dotgnu-pnet/pnetlib/Xsharp/DoubleBuffer.cs.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/dotgnu-pnet/pnetlib/Xsharp/Drawable.cs.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
Patches:
Index: pnetlib/ChangeLog
diff -u pnetlib/ChangeLog:1.2368 pnetlib/ChangeLog:1.2369
--- pnetlib/ChangeLog:1.2368 Tue Mar 14 15:40:36 2006
+++ pnetlib/ChangeLog Tue Mar 14 18:43:29 2006
@@ -1,5 +1,11 @@
2006-03-14 Heiko Weiss <address@hidden>
+ * System.Window.Forms/Form.cs: Fixed closing dialog stopping
Application.InnerMessageLoop if Form was shown with ShowDialog
+ * Xsharp/DoubleBuffer.cs: Added query widget.HasWidgetHandle, if widget
was detroyed (was Exception before)
+ * Xsharp/Drawable.cs: added Method bool HasWidgetHandle() to get if
widget handle is valid
+
+2006-03-14 Heiko Weiss <address@hidden>
+
* Xsharp/Widget.cs: Fixed detaching Widget (MemoryLeak).
2006-03-08 Heiko Weiss <address@hidden>
Index: pnetlib/System.Windows.Forms/Form.cs
diff -u pnetlib/System.Windows.Forms/Form.cs:1.48
pnetlib/System.Windows.Forms/Form.cs:1.49
--- pnetlib/System.Windows.Forms/Form.cs:1.48 Fri Jan 13 09:07:59 2006
+++ pnetlib/System.Windows.Forms/Form.cs Tue Mar 14 18:43:29 2006
@@ -954,6 +954,7 @@
// Enter a message loop until the
dialog result is set.
Application.InnerMessageLoop(this);
+ Dispose(); // must call Dispose,
when closing the dialog
}
finally
{
@@ -962,7 +963,7 @@
// The form is no longer modal.
SetWindowFlag(ToolkitWindowFlags.Modal,
false);
}
-
+
// Return the dialog result.
return dialogResult;
}
@@ -1622,6 +1623,7 @@
OnClosing(args);
if(!(args.Cancel))
{
+ dialogResultIsSet = true; // must
be set here, or Application.InnerMessageLoop won't end
OnClosed(EventArgs.Empty);
Dispose();
}
Index: pnetlib/Xsharp/DoubleBuffer.cs
diff -u pnetlib/Xsharp/DoubleBuffer.cs:1.5 pnetlib/Xsharp/DoubleBuffer.cs:1.6
--- pnetlib/Xsharp/DoubleBuffer.cs:1.5 Thu Mar 10 17:30:02 2005
+++ pnetlib/Xsharp/DoubleBuffer.cs Tue Mar 14 18:43:29 2006
@@ -137,13 +137,18 @@
IntPtr display = dpy.Lock();
if(handle != XDrawable.Zero)
{
- if(usesXdbe)
- {
-
Xlib.XdbeDeallocateBackBufferName(display, handle);
+ if( widget.HasWidgetHandle() ) {
+ if(usesXdbe)
+ {
+
Xlib.XdbeDeallocateBackBufferName(display, handle);
+ }
+ else
+ {
+
Xlib.XFreePixmap(display, (XPixmap)handle);
+ }
}
- else
- {
-
Xlib.XFreePixmap(display, (XPixmap)handle);
+ else {
+ // the widget was
destroyed
}
handle = XDrawable.Zero;
}
Index: pnetlib/Xsharp/Drawable.cs
diff -u pnetlib/Xsharp/Drawable.cs:1.6 pnetlib/Xsharp/Drawable.cs:1.7
--- pnetlib/Xsharp/Drawable.cs:1.6 Thu Jun 3 00:41:25 2004
+++ pnetlib/Xsharp/Drawable.cs Tue Mar 14 18:43:29 2006
@@ -102,6 +102,11 @@
(S._("X_WidgetDestroyed"));
}
}
+
+ public bool HasWidgetHandle()
+ {
+ return handle != XDrawable.Zero;
+ }
// Get the handle for drawable, assuming that it is
// a pixmap. Should be called with the display lock.
- [dotgnu-pnet-commits] pnetlib ./ChangeLog System.Windows.Forms/Form.c...,
Heiko Weiss <=