Marek Safar [Fri, 17 Nov 2006 23:11:36 +0000 (23:11 -0000)]
2006-11-17 Marek Safar <marek.safar@gmail.com>
A fix for bug #79941
* class.cs (MemberCore.IsDuplicateImplementation): Add more tricks for
operators.
(Operator.Define): Implicit/Explicit operator of same type is duplicate
even if internal name is different.
* convert.cs (GetConversionOperator): Replaced EmitContext with parentType.
(UserDefinedConversion): Simplified as the operators cannot be internal.
* ecore.cs (Error_ValueCannotBeConverted): Take account of user
conversions.
(MethodLookup): Replaced EmitContext with parentType.
* expression.cs: Updated.
svn path=/trunk/mcs/; revision=68113
Mike Kestner [Fri, 17 Nov 2006 21:55:07 +0000 (21:55 -0000)]
2006-11-17 Mike Kestner <mkestner@novell.com>
* Control.cs: Add the concept of implicit bounds setting so that
dock/undock round trips preserve explicitly set size/locations.
Fixes #79313.
svn path=/trunk/mcs/; revision=68105
Jonathan Pryor [Fri, 17 Nov 2006 21:33:36 +0000 (21:33 -0000)]
* map.c: Flush (fix FromFilePermissions for SuppressFlags-marked values).
svn path=/trunk/mono/; revision=68103
Chris Toshok [Fri, 17 Nov 2006 21:13:09 +0000 (21:13 -0000)]
this is font size dependent
svn path=/trunk/mcs/; revision=68101
Chris Toshok [Fri, 17 Nov 2006 21:12:04 +0000 (21:12 -0000)]
this is font size dependent
svn path=/trunk/mcs/; revision=68100
Chris Toshok [Fri, 17 Nov 2006 21:11:13 +0000 (21:11 -0000)]
these are font size dependent. remove them
svn path=/trunk/mcs/; revision=68099
Sebastien Pouliot [Fri, 17 Nov 2006 20:48:03 +0000 (20:48 -0000)]
2006-11-17 Sebastien Pouliot <sebastien@ximian.com>
* System_test.dll.sources: Add unit tests for System.Security.
Cryptography.X509Certificates/X509Certificate2Collection and
X509ExtensionCollection classes to the build.
svn path=/trunk/mcs/; revision=68098
Sebastien Pouliot [Fri, 17 Nov 2006 20:46:46 +0000 (20:46 -0000)]
2006-11-17 Sebastien Pouliot <sebastien@ximian.com>
* X509Certificate2CollectionTest.cs: New. Unit tests for
X509Certificate2Collection.
* X509Certificate2Test.cs: Changed cert_8 to public so it can be
reused in other tests. Added test case for GetNameInfo with SimpleName
* X509ExtensionCollectionTest.cs: New. Unit tests for
X509ExtensionCollection.
* X509SubjectKeyIdentifierExtensionTest.cs: Added test cases for ctors
accepting PublicKey instances.
svn path=/trunk/mcs/; revision=68097
Sebastien Pouliot [Fri, 17 Nov 2006 20:42:40 +0000 (20:42 -0000)]
2006-11-17 Sebastien Pouliot <sebastien@ximian.com>
* X509Certificate2Collection.cs: Implement Export (to DER encoded
format), Find (for most X509FindType), Import (for single
certificates), RemoveRange (but it's not transactional).
* X509Certificate2.cs: Fix Reset method to reset every field.
* X509ExtensionCollection.cs: Implement missing CopyTo. Fix exception
handling to match new unit tests.
* X509ExtensionEnumerator.cs: Fix recursion.
* X509SubjectKeyIdentifierExtension.cs: Add support for ctors
accepting a PublicKey instance.
svn path=/trunk/mcs/; revision=68096
Alexander Olk [Fri, 17 Nov 2006 20:35:16 +0000 (20:35 -0000)]
2006-11-17 Alexander Olk <alex.olk@googlemail.com>
* FileDialog.cs: Trim all filters, otherwise DirInfo.GetFiles
can't handle those filters. (Fixes bug #79961)
svn path=/trunk/mcs/; revision=68095
Sebastien Pouliot [Fri, 17 Nov 2006 20:33:16 +0000 (20:33 -0000)]
2006-11-17 Sebastien Pouliot <sebastien@ximian.com>
* X509Cert20Test.cs: Add test cases for Equals and Export.
svn path=/trunk/mcs/; revision=68094
Sebastien Pouliot [Fri, 17 Nov 2006 20:30:21 +0000 (20:30 -0000)]
2006-11-17 Sebastien Pouliot <sebastien@ximian.com>
* X509Certificate.cs: Fix Equals to throw a CryptographicException, in
2.0 profile, if the certificate instance is empty.
* X509Certificate20.cs: Fix Reset method to reset every fields (as the
instance can be reused in 2.0). Updated MonoTODO attributes.
svn path=/trunk/mcs/; revision=68091
Marek Habersack [Fri, 17 Nov 2006 18:56:07 +0000 (18:56 -0000)]
Support for event validation
svn path=/trunk/mcs/; revision=68082
Wade Berrier [Fri, 17 Nov 2006 18:32:38 +0000 (18:32 -0000)]
tag 1.2.1
svn path=/trunk/mono/; revision=68074
Chris Toshok [Fri, 17 Nov 2006 17:38:51 +0000 (17:38 -0000)]
2006-11-17 Chris Toshok <toshok@ximian.com>
[ fixes the exit/crashes associated with #79835. it's clearly
suboptimal though, we need to figure out a better way to solve
this. ]
* PrintPreviewControl.cs: deal with the new invalid printer
exceptions.
* PageSetupDialog.cs: if the printer is invalid, pop up a dialog
and return false (so CommonDialog.ShowDialog doesn't actually show
the form.)
* PrintDialog.cs: enable/disable the Ok button depending on
whether or not the printer is valid.
* CommonDialog.cs (ShowDialog): only actually show the form if
RunDialog returns true.
svn path=/trunk/mcs/; revision=68068
Miguel de Icaza [Fri, 17 Nov 2006 17:06:42 +0000 (17:06 -0000)]
Fix
svn path=/trunk/mcs/; revision=68067
Jackson Harper [Fri, 17 Nov 2006 16:38:57 +0000 (16:38 -0000)]
Also carry over the current line break to the next
line.
svn path=/trunk/mcs/; revision=68066
Jackson Harper [Fri, 17 Nov 2006 16:34:11 +0000 (16:34 -0000)]
* TextControl.cs: When soft splitting a line, mark it as a soft
split line.
svn path=/trunk/mcs/; revision=68065
Dick Porter [Fri, 17 Nov 2006 16:33:14 +0000 (16:33 -0000)]
Several typos and const-correctness fixes
svn path=/trunk/mono/; revision=68064
Chris Toshok [Fri, 17 Nov 2006 16:16:19 +0000 (16:16 -0000)]
2006-11-17 Chris Toshok <toshok@ximian.com>
* X11Hwnd.cs: port the XplatUIX11.ScrollWindow fix from 68061.
svn path=/trunk/mcs/; revision=68063
Chris Toshok [Fri, 17 Nov 2006 16:14:19 +0000 (16:14 -0000)]
more work
svn path=/trunk/mcs/; revision=68062
Chris Toshok [Fri, 17 Nov 2006 16:12:36 +0000 (16:12 -0000)]
2006-11-17 Chris Toshok <toshok@ximian.com>
* XplatUIX11.cs: when scrolling a window with an invalid area, we
only want to shift the part of the invalid area that overlaps the
area we're scrolling. we also don't want to clear the invalid
area unless the invalid area was entirely contained within the
scrolling area.
svn path=/trunk/mcs/; revision=68061
Atsushi Eno [Fri, 17 Nov 2006 14:52:02 +0000 (14:52 -0000)]
2006-11-17 Atsushi Enomoto <atsushi@ximian.com>
* XmlSerializerTests.cs : test for basic generic type support with
code generation.
* SerializationCodeGenerator.cs, TypeData.cs :
Now we differentiate TypeName, FullTypeName C# type names. It is
to create valid C# sources especially for generic types.
Fixed bug #79657.
svn path=/trunk/mcs/; revision=68058
Miguel de Icaza [Fri, 17 Nov 2006 13:58:32 +0000 (13:58 -0000)]
Provide better information about this kind of error
svn path=/trunk/mcs/; revision=68057
Miguel de Icaza [Fri, 17 Nov 2006 13:42:29 +0000 (13:42 -0000)]
Fix, SerializationInfo.GetValue might throw an error
svn path=/trunk/mcs/; revision=68055
Atsushi Eno [Fri, 17 Nov 2006 09:19:49 +0000 (09:19 -0000)]
2006-11-17 Atsushi Enomoto <atsushi@ximian.com>
* TempFileCollection.cs : make it work under non-libc environment.
svn path=/trunk/mcs/; revision=68053
Nagappan Alagappan [Fri, 17 Nov 2006 06:52:27 +0000 (06:52 -0000)]
2006-11-16 Nagappan A <anagappan@novell.com>
* binserialize: Binary serialized files
svn path=/trunk/mcs/; revision=68052
Chris Toshok [Fri, 17 Nov 2006 04:03:22 +0000 (04:03 -0000)]
* XplatUIX11.cs: remove the handling of the TimerEvent stuff, and
also make sure to free the memory returned by XGetWindowProperty
in GetText().
* X11Structs.cs: remove the TimerEvent stuff, it's unused.
2006-11-16 Chris Toshok <toshok@ximian.com>
svn path=/trunk/mcs/; revision=68051
Chris Toshok [Fri, 17 Nov 2006 04:01:57 +0000 (04:01 -0000)]
2006-11-16 Chris Toshok <toshok@ximian.com>
* XplatUI.cs: add a new super secret way to get at the totally
unsupported X11 backend.
svn path=/trunk/mcs/; revision=68050
Chris Toshok [Fri, 17 Nov 2006 04:00:51 +0000 (04:00 -0000)]
add the new X11 backend to the build
svn path=/trunk/mcs/; revision=68049
Chris Toshok [Fri, 17 Nov 2006 03:49:56 +0000 (03:49 -0000)]
more work. timers should be working now.
svn path=/trunk/mcs/; revision=68048
Chris Toshok [Fri, 17 Nov 2006 03:37:56 +0000 (03:37 -0000)]
2006-11-16 Chris Toshok <toshok@ximian.com>
* PreviewPrintController.cs: fix typo - don't throw
InvalidPrinterException when it wasn't supposed to be.
svn path=/trunk/mcs/; revision=68047
Atsushi Eno [Fri, 17 Nov 2006 03:34:52 +0000 (03:34 -0000)]
2006-11-17 Atsushi Enomoto <atsushi@ximian.com>
* XsdValidatingReader.cs : when ValidationType is None, it does not
load external schemas. Fixed bug #79924.
* XmlReaderSettingsTests.cs : added test for bug #79224; it does not
load external schemas when validation mode is none.
svn path=/trunk/mcs/; revision=68046
Atsushi Eno [Fri, 17 Nov 2006 02:21:56 +0000 (02:21 -0000)]
2006-11-17 Atsushi Enomoto <atsushi@ximian.com>
* XmlSerializationReader.cs : (ReadReferencedElement)
Sometimes there are array types in WSDL, which are not reflected
in client proxies. In SOAP messages, they are marked
soap-env:arrayType, so use it (this could coexist with xsi:type,
which indicates the type in WSDL). Fixed bug #79057.
svn path=/trunk/mcs/; revision=68045
Miguel de Icaza [Fri, 17 Nov 2006 01:33:16 +0000 (01:33 -0000)]
2006-11-16 Miguel de Icaza <miguel@novell.com>
* MacPack.cs: Do not crash, and provide a warning message.
svn path=/trunk/mcs/; revision=68044
Miguel de Icaza [Fri, 17 Nov 2006 01:16:56 +0000 (01:16 -0000)]
Improve TODOs, remove fear of spaces
svn path=/trunk/mcs/; revision=68043
Miguel de Icaza [Fri, 17 Nov 2006 01:05:54 +0000 (01:05 -0000)]
2006-11-16 Miguel de Icaza <miguel@novell.com>
* processes.c (ShellExecuteEx): If we fail to create a process in
ShellExecute, then try to use the xdg-open command, and if that
fails, try to use the gnome-open command,
Refactor the code so that we do not have to duplicate all this
code, but instead use a ucs2-aware version of the code to do
concatenations.
svn path=/trunk/mono/; revision=68042
Marek Habersack [Thu, 16 Nov 2006 23:03:34 +0000 (23:03 -0000)]
Add two missing build providers
svn path=/trunk/mcs/; revision=68040
Marek Habersack [Thu, 16 Nov 2006 22:53:10 +0000 (22:53 -0000)]
CompilerCollection must use a List to store the compiler infos because MS.NET allows storing multiple entries for the same language
svn path=/trunk/mcs/; revision=68039
Gonzalo Paniagua Javier [Thu, 16 Nov 2006 21:04:21 +0000 (21:04 -0000)]
2006-11-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* NtlmClient.cs: fixes authentication if the first try fails and the
* second is supposed to work. Patch by egonia@acxiom.com that fixes bug
#79590.
svn path=/trunk/mcs/; revision=68035
Gonzalo Paniagua Javier [Thu, 16 Nov 2006 20:49:11 +0000 (20:49 -0000)]
2006-11-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* LosFormatter.cs:
* ObjectStateFormatter.cs: match MS 1.x and 2.0 behaviour for null and
empty strings.
svn path=/trunk/mcs/; revision=68034
Gert Driesen [Thu, 16 Nov 2006 20:15:48 +0000 (20:15 -0000)]
* NumericUpDown.cs: Allow lowercase letters when in hex-mode.
svn path=/trunk/mcs/; revision=68033
Carlos Alberto Cortez [Thu, 16 Nov 2006 19:16:42 +0000 (19:16 -0000)]
2006-11-16 Carlos Alberto Cortez <calberto.cortez@gmail.com>
* System.Drawing_test.dll.sources: Add new unit test
for PageSettings.
svn path=/trunk/mcs/; revision=68032
Carlos Alberto Cortez [Thu, 16 Nov 2006 19:16:21 +0000 (19:16 -0000)]
2006-11-16 Carlos Alberto Cortez <calberto.cortez@gmail.com>
* PageSettingsTest.cs: New file.
svn path=/trunk/mcs/; revision=68031
Carlos Alberto Cortez [Thu, 16 Nov 2006 19:07:00 +0000 (19:07 -0000)]
2006-11-16 Carlos Alberto Cortez <calberto.cortez@gmail.com>
* PrintDocument.cs: Use QueryPageSettingsEventArgs.PageSettings
in PrintPageEventArgs, instead of using the default one (mimic
.Net behaviour).
* PageSettings.cs: Implement Clone the right way (intead of using
the default page settings).
svn path=/trunk/mcs/; revision=68030
Jackson Harper [Thu, 16 Nov 2006 18:32:22 +0000 (18:32 -0000)]
* TextBoxBase.cs: When positioning the caret, use the line, pos
method, since the x, y method does not grab the correct tag, and
the caret height never gets set correctly. (Maybe I should just
do
away with the caret having its own height, and always use the
carets current tag for height).
svn path=/trunk/mcs/; revision=68024
Konstantin Triger [Thu, 16 Nov 2006 18:28:44 +0000 (18:28 -0000)]
fix typo
svn path=/trunk/mcs/; revision=68023
Konstantin Triger [Thu, 16 Nov 2006 18:27:34 +0000 (18:27 -0000)]
fix typo
svn path=/trunk/mcs/; revision=68022
Gonzalo Paniagua Javier [Thu, 16 Nov 2006 18:05:02 +0000 (18:05 -0000)]
2006-11-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* SimpleWebHandlerParser.cs: 'using' for file reading.
svn path=/trunk/mcs/; revision=68021
Gonzalo Paniagua Javier [Thu, 16 Nov 2006 18:04:15 +0000 (18:04 -0000)]
2006-11-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* HttpApplication.cs: don't leak the directory name for non-local
connections.
svn path=/trunk/mcs/; revision=68020
Gonzalo Paniagua Javier [Thu, 16 Nov 2006 18:03:27 +0000 (18:03 -0000)]
revert r67514
svn path=/trunk/mcs/; revision=68019
Jackson Harper [Thu, 16 Nov 2006 18:03:20 +0000 (18:03 -0000)]
* TreeView.cs: Allow more explicit setting of top node
* position
for scrollbars. Slower algo, but more accurate.
- CollapseAll should maintain the current top node.
svn path=/trunk/mcs/; revision=68018
Jonathan Pobst [Thu, 16 Nov 2006 16:29:04 +0000 (16:29 -0000)]
2006-11-16 Jonathan Pobst <monkey@jpobst.com
[Fixes 79778, 79923]
* XplatUIWin32.cs: Don't allow a parent to be set to IntPtr.Zero.
Parent to the FosterParent instead.
svn path=/trunk/mcs/; revision=68009
Igor Zelmanovich [Thu, 16 Nov 2006 16:09:39 +0000 (16:09 -0000)]
2006-11-16 Igor Zelmanovich <igorz@mainsoft.com>
* CreateUserWizard.cs: fixed: ActiveStepIndex property.
svn path=/trunk/mcs/; revision=68007
Jackson Harper [Thu, 16 Nov 2006 15:37:14 +0000 (15:37 -0000)]
* ThemeWin32Classic.cs: Special case for groupboxes with empty
strings, makes nunit-gui look a lot nicer.
svn path=/trunk/mcs/; revision=68003
Jackson Harper [Thu, 16 Nov 2006 15:31:45 +0000 (15:31 -0000)]
* TreeView.cs: Need to recalc the topnode when we expand or
collapse. The scrolling methods can't handle this on their own,
since they use differences between the last scroll position, and
those difference get completely messed up since we are expanding
nodes. This problem should probably be fixed in the scrolling
methods, so they can figure out exactly where they are, but this
will slow things down a little.
svn path=/trunk/mcs/; revision=68002
Sebastien Pouliot [Thu, 16 Nov 2006 15:09:53 +0000 (15:09 -0000)]
2006-11-16 Sebastien Pouliot <sebastien@ximian.com>
* PasswordDeriveBytesTest.cs: Added test case for bug #79499
svn path=/trunk/mcs/; revision=68000
Vladislav Spivak [Thu, 16 Nov 2006 14:42:27 +0000 (14:42 -0000)]
RaiseOnDeserializingEvent still not supported in TARGET_JVM profile
svn path=/trunk/mcs/; revision=67999
Miguel de Icaza [Thu, 16 Nov 2006 14:14:01 +0000 (14:14 -0000)]
2006-11-16 Miguel de Icaza <miguel@novell.com>
* DirectoryInfo.cs (GetFiles): Implement option with SearchOptions
== AllDirectories
And a lot of MonoTODOs updated as well
svn path=/trunk/mcs/; revision=67998
Sebastien Pouliot [Thu, 16 Nov 2006 13:51:07 +0000 (13:51 -0000)]
remove C.WL
svn path=/trunk/mcs/; revision=67997
Miguel de Icaza [Thu, 16 Nov 2006 13:33:32 +0000 (13:33 -0000)]
Improved the MonoTODO messages, as these will be developer visible
2006-11-16 Miguel de Icaza <miguel@novell.com>
* Hashtable.cs: Serialize EqualityComparer.
svn path=/trunk/mcs/; revision=67996
Paolo Molaro [Thu, 16 Nov 2006 13:09:55 +0000 (13:09 -0000)]
Test for bug #79871.
svn path=/trunk/mono/; revision=67993
Paolo Molaro [Thu, 16 Nov 2006 13:08:22 +0000 (13:08 -0000)]
Thu Nov 16 14:07:18 CET 2006 Paolo Molaro <lupus@ximian.com>
* brach-opts.c: in optimize_exception_target() make sure we
are in a catch clause (fixes bug #79871).
svn path=/trunk/mono/; revision=67992
Konstantin Triger [Thu, 16 Nov 2006 12:41:03 +0000 (12:41 -0000)]
change GHROOT to VMW_HOME
svn path=/trunk/mcs/; revision=67991
Konstantin Triger [Thu, 16 Nov 2006 12:39:17 +0000 (12:39 -0000)]
change GHROOT to VMW_HOME; update with recent changes
svn path=/trunk/mcs/; revision=67990
Konstantin Triger [Thu, 16 Nov 2006 12:29:57 +0000 (12:29 -0000)]
change GHROOT to VMW_HOME
svn path=/trunk/mcs/; revision=67989
Konstantin Triger [Thu, 16 Nov 2006 12:24:32 +0000 (12:24 -0000)]
change GHROOT to VMW_HOME
svn path=/trunk/mcs/; revision=67988
Konstantin Triger [Thu, 16 Nov 2006 12:21:09 +0000 (12:21 -0000)]
change GHROOT to VMW_HOME
svn path=/trunk/mcs/; revision=67987
Konstantin Triger [Thu, 16 Nov 2006 12:18:12 +0000 (12:18 -0000)]
change GHROOT to VMW_HOME
svn path=/trunk/mcs/; revision=67986
Konstantin Triger [Thu, 16 Nov 2006 12:15:50 +0000 (12:15 -0000)]
change GHROOT to VMW_HOME
svn path=/trunk/mcs/; revision=67985
Konstantin Triger [Thu, 16 Nov 2006 12:13:41 +0000 (12:13 -0000)]
change GHROOT to VMW_HOME
svn path=/trunk/mcs/; revision=67984
Konstantin Triger [Thu, 16 Nov 2006 12:11:25 +0000 (12:11 -0000)]
change GHROOT to VMW_HOME
svn path=/trunk/mcs/; revision=67983
Konstantin Triger [Thu, 16 Nov 2006 12:08:27 +0000 (12:08 -0000)]
change GHROOT to VMW_HOME
svn path=/trunk/mcs/; revision=67982
Konstantin Triger [Thu, 16 Nov 2006 12:06:48 +0000 (12:06 -0000)]
change GHROOT to VMW_HOME
svn path=/trunk/mcs/; revision=67981
Paolo Molaro [Thu, 16 Nov 2006 12:01:29 +0000 (12:01 -0000)]
Thu Nov 16 12:59:50 CET 2006 Paolo Molaro <lupus@ximian.com>
* configure.in: added --disable-mcs-build for use
with embedded systems or other cases where we don't want
or can't to spend time compiling the managed part of the runtime.
svn path=/trunk/mono/; revision=67980
Paolo Molaro [Thu, 16 Nov 2006 11:45:21 +0000 (11:45 -0000)]
Thu Nov 16 12:42:13 CET 2006 Paolo Molaro <lupus@ximian.com>
* jit-icalls.c, jit-icalls.h, mini-arm.c, mini.c:
more soft-float support fixes.
svn path=/trunk/mono/; revision=67979
Vladislav Spivak [Thu, 16 Nov 2006 11:05:31 +0000 (11:05 -0000)]
svn path=/trunk/mcs/; revision=67978
Vladislav Spivak [Thu, 16 Nov 2006 11:03:08 +0000 (11:03 -0000)]
svn path=/trunk/mcs/; revision=67977
Vladislav Spivak [Thu, 16 Nov 2006 10:54:46 +0000 (10:54 -0000)]
svn path=/trunk/mcs/; revision=67976
Vladimir Krasnov [Thu, 16 Nov 2006 09:07:12 +0000 (09:07 -0000)]
* machine.jvm.config: AspNetDB bug fixes
svn path=/trunk/mono/; revision=67975
Konstantin Triger [Thu, 16 Nov 2006 08:28:11 +0000 (08:28 -0000)]
refactoring - remove unneeded bool? usage
svn path=/trunk/mcs/; revision=67974
Atsushi Eno [Thu, 16 Nov 2006 05:49:19 +0000 (05:49 -0000)]
2006-11-16 Atsushi Enomoto <atsushi@ximian.com>
* HttpServerProtocol.cs : removed old code.
* SoapServerProtocol.cs, ServerProtocol.cs : removed as well, and
added up-to-date ones.
* SoapHeaderHandling.cs, SoapHeaderMapping.cs,
ServerProtocolFactory.cs, SoapServerType.cs,
SoapServerProtocolFactory.cs, ServerType.cs,
SoapServerProtocol.cs, ServerProtocol.cs,
SoapServerMethod.cs :
Added stubs for 2.0 server protocol model. For now I don't spend
time on these ones but rather fill more important bits like
SOAP 1.2 support.
* System.Web.Services.dll.sources : added/removed/replaced 2.0 server
protocol classes in S.W.S.Protocols.
svn path=/trunk/mcs/; revision=67973
Chris Toshok [Thu, 16 Nov 2006 05:45:58 +0000 (05:45 -0000)]
2006-11-16 Chris Toshok <toshok@ximian.com>
* XplatUIX11.cs: nasty, nasty, nasty changes required because of
the broken multithreaded event handling we have in here. File
this entry under "Why we should move to the new X11 backend".
Any thread can make it into UpdateMessageQueue, which gets events
from the X socket - some of which could belong to hwnds being
managed by a different thread. We can also have multiple threads
in UpdateMessageQueue at the same time, with each one reading from
the X socket. This leads to many problems, with the following
solutions:
We can't use hwnd.Queue.Enqueue anywhere in here and must use
EnqueueLocked.
The MotionNotify compression we do can't work across threads
(without locking the entire queue, perhaps) since we call
hwnd.Queue.Peek, so we just punt and don't compress motion events
unless the owning thread is the one which got the X event.
ConfigureNotify is another fun one, since it modifies the hwnd's
bounds and then enqueues the event. We add a lock to Hwnd which
is held when setting configure_pending to true (and enqueuing the
event).
There is a race wrt the wake socket. we need to make sure that
only 1 thread is waiting on that socket, or else a thread could
sleep waiting for data that never comes. It's difficult (but not
impossible) to make happen, because it seems to require something
like the following:
1. Thread 1 polls on wake_receive
2. poll returns saying there's data to be read on
wake_receive.
3. Thread 2 polls on wake_receive and immediately returns
saying there's data to be read.
4. Thread 2 reads the wakeup byte from wake_receive
5. Thread 1 attempts to read the wakeup byte from
wake_receive.
6. Thread 2 exits (due to a form closing, perhaps).
7. Thread 1 blocks forever.
Fun, eh?
Fixing the Expose handling isn't done yet, and the races inherent
in that piece of code are responsible for the drawing mistakes you
see when generating expose events in a MT app (like NPlot). This
one is the likely to be the hardest to bandaid, and it doesn't
appear to cause anything but drawing problems. The other issues
caused apps to exit or hang.
* XEventQueue.cs: output some spew when Dequeue/Enqueue/Peek are
called from a different thread than the one that should be calling
these functions.
* Hwnd.cs: add some locks to be used by the XplatUIX11 code.
svn path=/trunk/mcs/; revision=67972
Chris Toshok [Thu, 16 Nov 2006 01:54:29 +0000 (01:54 -0000)]
* Application.cs: null out the context's MainForm when we exit
RunLoop. Fixes a newly checked in unit test as well as the last
ODE from bug #79933.
2006-11-15 Chris Toshok <toshok@ximian.com>
svn path=/trunk/mcs/; revision=67971
Chris Toshok [Thu, 16 Nov 2006 01:52:52 +0000 (01:52 -0000)]
add ApplicationTest.cs and ApplicationContextTest.cs
svn path=/trunk/mcs/; revision=67970
Chris Toshok [Thu, 16 Nov 2006 01:52:37 +0000 (01:52 -0000)]
Application unit tests
svn path=/trunk/mcs/; revision=67969
Marek Habersack [Thu, 16 Nov 2006 01:11:49 +0000 (01:11 -0000)]
Changes to the App_Code compiler
svn path=/trunk/mcs/; revision=67968
Chris Toshok [Thu, 16 Nov 2006 00:53:11 +0000 (00:53 -0000)]
2006-11-15 Chris Toshok <toshok@ximian.com>
* Form.cs (set_Owner): allow a null value so we can clear the
form's owner.
(Dispose): set all our owned_form's Owner properties to null, and
clear the owned_forms collection.
(WM_CLOSE): clean up this a little bit.. still not right though.
* ApplicationContext.cs: OnMainFormClosed should only call
ExitThreadCore if the main form isn't recreating. Fixes unit
test.
svn path=/trunk/mcs/; revision=67966
Chris Toshok [Thu, 16 Nov 2006 00:51:58 +0000 (00:51 -0000)]
add some HandleDestroyed tests (to see if it's generated from RecreateHandle), and another check for disposing of a form's owner.
svn path=/trunk/mcs/; revision=67965
Chris Toshok [Thu, 16 Nov 2006 00:37:36 +0000 (00:37 -0000)]
add a unit test dealing with disposing of a form's owner
svn path=/trunk/mcs/; revision=67964
Chris Toshok [Thu, 16 Nov 2006 00:36:51 +0000 (00:36 -0000)]
add some tests for Form/ApplicationContext interaction
svn path=/trunk/mcs/; revision=67963
Marek Habersack [Thu, 16 Nov 2006 00:31:54 +0000 (00:31 -0000)]
A fix for a compilation problem. Thanks to Chris Toshok for showing me the light :)
svn path=/trunk/mcs/; revision=67962
Marek Habersack [Thu, 16 Nov 2006 00:13:33 +0000 (00:13 -0000)]
Reimplementation of the CodeDomConfigurationHandler class as a ConfigurationSection. It now provides default compiler entries a'la MS.NET
svn path=/trunk/mcs/; revision=67961
Gonzalo Paniagua Javier [Wed, 15 Nov 2006 21:26:04 +0000 (21:26 -0000)]
2006-11-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* WebHeaderCollectionTest.cs: the Indexers test only compiles on 1.x
svn path=/trunk/mcs/; revision=67951
Jonathan Pobst [Wed, 15 Nov 2006 21:16:34 +0000 (21:16 -0000)]
2006-11-15 Jonathan Pobst <monkey@jpobst.com>
[Fixes 78346]
* ComboBox.cs: Set the Hwnd.no_activate flag for the ComboListBox.
svn path=/trunk/mcs/; revision=67950
Jonathan Pobst [Wed, 15 Nov 2006 20:46:29 +0000 (20:46 -0000)]
2006-11-15 Jonathan Pobst <monkey@jpobst.com>
[Fixes 79433]
* Hwnd.cs: Add a flag to show a window, but not activate it, to
keep popup window types from stealing focus from the main form
on Windows.
* XPlatUIWin32.cs: Use SW_SHOWNOACTIVATE if above field is true.
* MenuAPI.cs: Set above flag to true.
svn path=/trunk/mcs/; revision=67949
Chris Toshok [Wed, 15 Nov 2006 19:21:00 +0000 (19:21 -0000)]
2006-11-15 Chris Toshok <toshok@ximian.com>
* XplatUIX11.cs: mimic win32 behavior on BUTTONUP events, where
the button being released is not in wParam.
svn path=/trunk/mcs/; revision=67947
Jonathan Pobst [Wed, 15 Nov 2006 19:17:59 +0000 (19:17 -0000)]
2006-11-15 Jonathan Pobst <monkey@jpobst.com>
* Form.cs: Add the released button to MouseEventArgs.Button
for the OnMouseUp call to the MenuTracker. Fixes menu clicking
on Win32.
svn path=/trunk/mcs/; revision=67946
Chris Toshok [Wed, 15 Nov 2006 18:15:53 +0000 (18:15 -0000)]
* XplatUIX11.cs: add (untested) a _NET_WM_NAME implementation of
GetText(). untested because it's unused in our implementation.
Control.Text always caches the text, even if
ControlStyles.CacheText is not set.
fixes bug #79939.
2006-11-15 Chris Toshok <toshok@ximian.com>
svn path=/trunk/mcs/; revision=67945
Chris Toshok [Wed, 15 Nov 2006 17:44:19 +0000 (17:44 -0000)]
[ fixes #79933 ]
* Form.cs: in Close() don't do anything after we send the WM_CLOSE
message. no hiding, no disposing.
in the WM_CLOSE handler, hide the form if it's modal.
2006-11-15 Chris Toshok <toshok@ximian.com>
svn path=/trunk/mcs/; revision=67944