<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div><span>Enclosed is a replacement for the previous DataGridView.SelectionChanged() patch I submitted.  On top of containing the unit test, this one also adds a call to OnSelectionChanged() to DataGridView.OnColumnPostRemovedInternal() -- I had previously added a call </span><span style="font-size: 12pt; ">to OnSelectionChanged() to DataGridView.OnRowsPostRemovedInternal().</span></div><div><span style="font-size: 12pt; "><br></span></div><div><span style="font-size: 12pt; ">Please let me know if this is what you expect of a unit test, then I'll try writing some for my other changes.</span></div><div><span style="font-size: 12pt; "><br></span></div><div><span style="font-size: 12pt; ">BTW, is there any built-in way to run these unit tests against .NET, to make sure that what Mono does matches up with what .NET
 does?</span></div><div><span style="font-size: 12pt; "><br></span></div><div><span style="font-size: 12pt; ">Steven Boswell</span></div><div><br></div>  <div style="font-size: 12pt; font-family: 'times new roman', 'new york', times, serif; "> <div style="font-size: 12pt; font-family: 'times new roman', 'new york', times, serif; "> <div dir="ltr"> <font size="2" face="Arial"> <hr size="1">  <b><span style="font-weight:bold;">From:</span></b> Stifu <stifu@free.fr><br> <b><span style="font-weight: bold;">To:</span></b> mono-devel-list@lists.ximian.com <br> <b><span style="font-weight: bold;">Sent:</span></b> Saturday, June 2, 2012 8:45 AM<br> <b><span style="font-weight: bold;">Subject:</span></b> Re: [Mono-dev] Patches for mono-winforms<br> </font> </div> <br>
Alright. Patch 6 has been pushed<br>(<a href="https://github.com/mono/mono/commit/3d04a14a278d6160e33c16b52b86d68fe45d80b1" target="_blank">https://github.com/mono/mono/commit/3d04a14a278d6160e33c16b52b86d68fe45d80b1</a>).<br><br>I'll take care of the rest later, when I feel less lazy. :)<br>About patch 1, if there are indeed 2 separate issues, then it's better to<br>split the patch in 2, and also include 2 unit tests if possible.<br><br>Thanks.<br><br><br>Steven Boswell II wrote<br>> <br>> Patch 1 is for <a href="https://bugzilla.xamarin.com/show_bug.cgi?id=5419" target="_blank">https://bugzilla.xamarin.com/show_bug.cgi?id=5419</a> .<br>> Patch 2 is for <a href="https://bugzilla.xamarin.com/show_bug.cgi?id=5420" target="_blank">https://bugzilla.xamarin.com/show_bug.cgi?id=5420</a> .<br>> Patch 3 is for <a href="https://bugzilla.xamarin.com/show_bug.cgi?id=3415"
 target="_blank">https://bugzilla.xamarin.com/show_bug.cgi?id=3415</a> .<br>> I attached the relevant patch to all three of those bug reports.<br>> Patch 6 is<br>> for <a href="https://bugzilla.novell.com/show_bug.cgi?id=567331 and https://bugzilla.novell.com/show_bug.cgi?id=668012 " target="_blank">https://bugzilla.novell.com/show_bug.cgi?id=567331 and https://bugzilla.novell.com/show_bug.cgi?id=668012 </a>.<br>>  I would post my patches to those bug reports, but Novell wants WAY too<br>> much personal information just to reply to a bug report.<br>> I don't see reports for the other bugs.<br>> <br>> I'll go read about NUnit now.<br>> <br>> Thanks for reviewing my bug fixes!<br>> <br>> Steven Boswell<br>> <br>> <br>> ________________________________<br>>  From: Stifu &lt;stifu@&gt;<br>> To: mono-devel-list@.ximian <br>> Sent: Friday, June 1, 2012 4:33
 PM<br>> Subject: Re: [Mono-dev] Patches for mono-winforms<br>>  <br>> You could just write tests for what's easy to test, and leave the rest.<br>> As a bonus, you could post links to related bug reports here, and attach<br>> patch + unit test (if any) in each of them. You don't need to bother with<br>> GitHub for now.<br>> <br>> I'll have a look and review what I can.<br>> <br>> Thanks.<br>> <br>> <br>> Steven Boswell II wrote<br>>> <br>>> I reported a few of them in Bugzilla, but I wasn't sure if that database<br>>> got any attention, e.g. the DataGridView.SelectionRows bug wasreported<br>>> months ago and go no reply.  I don't currently have an account on GitHub;<br>>> if I absolutely must have one, I'll go make one, but I wasn't planning to<br>>> do that unless I started making tons of changes or something.  Also, how<br>>> does one write a unit test for
 something that has to be verified visually<br>>> (e.g. fixing ToolStripItem.BackColor) or via user interaction (e.g.<br>>> fixing<br>>> DataGridView.SelectionRows)?  So I suppose, yes, I need help :-)<br>>> <br>>> Steven Boswell<br>>> <br>>> <br>>> <br>>> ________________________________<br>>>  From: Stifu &lt;stifu@&gt;<br>>> To: mono-devel-list@.ximian <br>>> Sent: Thursday, May 31, 2012 11:06 PM<br>>> Subject: Re: [Mono-dev] Patches for mono-winforms<br>>>  <br>>> Hello,<br>>> <br>>> Thanks for your work.<br>>> <br>>> If I'm not mistaken, you reported each of these bugs, right? At least I<br>>> could find the two first ones in bugzilla, but didn't go further. Anyway,<br>>> I<br>>> suggest you make pull requests for each bug separately, specifying the<br>>> bug<br>>> number. Also, please
 include unit tests with each patch, highlighting<br>>> what<br>>> was fixed. I know it's more work, but it will make commiters more<br>>> confident<br>>> with your changes, and will guarantee no one will ever break these parts<br>>> again.<br>>> <br>>> Let me know if you need help.<br>>> <br>>> <br>>> Steven Boswell II wrote<br>>>> <br>>>> I work in a shop where our apps are written with C# and WinForms.  Thank<br>>>> God for Mono; I'm allowed to do all my work under Linux with Mono, and<br>>>> my<br>>>> code works fine under MS Windows and .NET.<br>>>> <br>>>> Recently, I ran into a showstopper bug in mono-winforms, and finally<br>>>> decided to look through the code.  I fixed the bug quickly.  That led me<br>>>> to looking for the source of other, non-showstopper bugs I've<br>>>>
 encountered,<br>>>> and those went quickly too.  Enclosed is an archive with all of the bug<br>>>> fixes I made, which were made against the latest version on GitHub.  (I<br>>>> originally made these bug fixes against version 2.10.5, the most recent<br>>>> one in Fedora Core 16's yum repos.)<br>>>> <br>>>> Patch 1 implements the EditingControlShowing event in DataGridView.<br>>>>  Before, it wasn't called at all.  I had to split a<br>>>> DataGridViewCell.StyleEditingControl() method off of<br>>>> DataGridViewCell.InitializeEditingControl(); under .NET, ComboBox.Items<br>>>> is<br>>>> initialized before EditingControlShowing is posted, and this split was<br>>>> necessary to get Mono to work that way too.  Styles modified in the<br>>>> EditingControlShowing event are now applied to text-box and
 checkbox<br>>>> controls too, not just combo-boxes.<br>>>> <br>>>> Patch 2 resolves different behavior between .NET and Mono when the user<br>>>> leaves a DataGridView.  Under .NET, the last-edited cell is committed;<br>>>> under Mono, changed made to the last-edited cell are lost.  It was a<br>>>> one-line fix.<br>>>> <br>>>> Patch 3 fires the DataGridView.SelectionChanged event when the selected<br>>>> rows/columns changes.  Before, the values of the SelectedRows and<br>>>> SelectedColumns properties were semi-random during the SelectionChanged<br>>>> event; now they're accurate.<br>>>> <br>>>> Patches 4 and 5 fix two different exception-throws I encountered when<br>>>> ComboBox.Items.Remove() is called with an item that's not in the combo<br>>>> box.  .NET doesn't throw any exceptions in this
 case.<br>>>> <br>>>> Patch 6 fixes the implementation of BackColor on ToolStripItem objects.<br>>>>  Now it behaves like it does under .NET, i.e. the BackColor setting on<br>>>> menu items etc. shows up.<br>>>> <br>>>> I would very much appreciate it if you would consider committing these<br>>>> changes.  My MS-Windows-oriented co-workers were impressed by how<br>>>> quickly<br>>>> bugs in Mono can be found and fixed.  Who knows, maybe I'll get some<br>>>> converts to open-source.  (It amazes me that this sort of thing still<br>>>> has<br>>>> to be evangelized...sigh.)<br>>>> <br>>>> Steven Boswell<br>>>> <br>>>> _______________________________________________<br>>>> Mono-devel-list mailing list<br>>>> Mono-devel-list@.ximian<br>>>> <a
 href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>>>> <br>>> <br>>> --<br>>> View this message in context:<br>>> <a href="http://mono.1490590.n4.nabble.com/Patches-for-mono-winforms-tp4649620p4649621.html" target="_blank">http://mono.1490590.n4.nabble.com/Patches-for-mono-winforms-tp4649620p4649621.html</a><br>>> Sent from the Mono - Dev mailing list archive at Nabble.com.<br>>> _______________________________________________<br>>> Mono-devel-list mailing list<br>>> Mono-devel-list@.ximian<br>>> <a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>>> _______________________________________________<br>>> Mono-devel-list mailing list<br>>> Mono-devel-list@.ximian<br>>> <a
 href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>>> <br>> <br>> --<br>> View this message in context:<br>> <a href="http://mono.1490590.n4.nabble.com/Patches-for-mono-winforms-tp4649620p4649644.html" target="_blank">http://mono.1490590.n4.nabble.com/Patches-for-mono-winforms-tp4649620p4649644.html</a><br>> Sent from the Mono - Dev mailing list archive at Nabble.com.<br>> _______________________________________________<br>> Mono-devel-list mailing list<br>> Mono-devel-list@.ximian<br>> <a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>> _______________________________________________<br>> Mono-devel-list mailing list<br>> Mono-devel-list@.ximian<br>> <a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list"
 target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>> <br><br>--<br>View this message in context: <a href="http://mono.1490590.n4.nabble.com/Patches-for-mono-winforms-tp4649620p4649654.html" target="_blank">http://mono.1490590.n4.nabble.com/Patches-for-mono-winforms-tp4649620p4649654.html</a><br>Sent from the Mono - Dev mailing list archive at Nabble.com.<br>_______________________________________________<br>Mono-devel-list mailing list<br><a ymailto="mailto:Mono-devel-list@lists.ximian.com" href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a><br><a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br><br><br> </div> </div>  </div></body></html>