Age | Commit message (Collapse) | Author |
|
|
|
reduce duplication.
|
|
In certain cases, hovering over a ToolStripMenuItem
that has a tool tip defined will result in the tool
tip appearing behind, and hidden by, the context
menu containing the item. The change is to cause
the tool tip to be pushed to the front when it is
displayed.
|
|
variable which lists the assemblies a given assembly depends on to build.
|
|
Fixing ToolStripManager.RevertMerge
|
|
|
|
false when given a null argument instead of throwing an exception.
According to the msdn here:
https://msdn.microsoft.com/en-us/library/b4e35dwy%28v=vs.110%29.aspx
this method should never throw an exception. This was also confirmed
with the official Microsoft runtime.
This change is released under the MIT license.
|
|
This addresses https://bugzilla.xamarin.com/show_bug.cgi?id=26887
(along with a previous fix).
|
|
Prevent right click from triggering ToolStripItem.HandleClick
|
|
Change-Id: I5709063cc7eecc01fd1e2978cd8aac096060c31e
|
|
This fixes https://bugzilla.xamarin.com/show_bug.cgi?id=26887.
|
|
We no longer support these profiles so these code paths are dead.
|
|
This addresses https://bugzilla.xamarin.com/show_bug.cgi?id=26523.
|
|
Many fonts, including the default DejaVu Sans, use kerning between
certain character pairs. This resulted in garbled or even invisible
display during typing of strings with a lot of kerning going on. An
attempt is made to retain the current speed-optimized implementation
while using accurate, slower string width measurements when needed.
See https://bugzilla.xamarin.com/show_bug.cgi?id=26478 for details.
|
|
See https://bugzilla.xamarin.com/show_bug.cgi?id=26258 for details.
|
|
|
|
[MWF] Fix unicode string handling from clipboard paste in X11
|
|
In the TextBoxTest.PasteTest () test case we copy the string "ABCD" to the clipboard.
We then try to paste it again and see if it's the same.
Internally in WinForms, the clipboard data is retrieved via an X11 API that returns
a pointer to the string. In this case, we have a unicode/utf16 string that usually
looks as follows in memory (2 byte per character):
65 'A'
0
-
66 'B'
0
-
67 'C'
0
-
68 'D'
0
-
0 '\0' end of string
0 potential garbage from here on
-
0
0
...
The bug is that we use Marshal.PtrToStringUni (), which reads until the
first null *char* not the first null *byte*.
Imagine if we get the following (happens sometimes):
65 'A'
0
-
66 'B'
0
-
67 'C'
0
-
68 'D'
0
-
0 '\0' end of string
230 <--- garbage, but considered part of a char by PtrToStringUni ()
-
47
56
-
74
43
...
This produces garbage like "ABCD㠯⭊" since PtrToStringUni () reads beyond the original string.
The fix is to use the nitems variable that is returned by the X11 API (it contains the
actual number of bytes in the string) and copy the bytes manually. We already do
the same for the UTF8 case above.
This fixes the TextBoxTest.PasteTest () that intermittently fails on Jenkins.
|
|
|
|
unifdef -t -DNET_2_0 -o <filename> <filename>.
|
|
|
|
This fixes the case of the System.ObjectDisposedException being thrown
when editing a text cell in a DataGridView control a second time.
The problem is that the static control would be disposed by the code in
DataGridView's EditingControlInternal, but this instance was reused over
and over.
Instead, we now createa new editing control every time that the TextBoxCell
is created.
The investigation for this bug took place here:
https://bugzilla.xamarin.com/show_bug.cgi?id=9653
Fixes also:
https://bugzilla.xamarin.com/show_bug.cgi?id=22297
|
|
[MWF] Don't truncate text on ToolStripButton
|
|
Calling owner.UpdateMultiSelection can also change the selected item,
causing a crash.
This change improves the fix for Xamarin bug #23591.
|
|
Previous code subtracted 4 pixels of the height of the text of a
toolstrip button, presumably to leave a margin. However, margins
are handled elsewhere, so we ended up with truncated text.
|
|
[MWF] Use Ctrl+PageUp/PageDown for Tab Navigation
|
|
In the Windows implementation of the TabControl, Ctrl+PageUp
navigates to the previous tab and Ctrl+PageDown navigates to the
next tab (with both wrapping around). This change implements this
feature in the Mono implementation.
Change-Id: Ib940bd08d5ba641f05ed91c0e789e356e68f72bb
|
|
Fix bugs in sizing TableLayoutPanel (Xamarin bug 18638)
|
|
[MWF] Fix problem when button text overlaps image
|
|
Remove excessive shortcut key matching in ToolStrip
|
|
Fix potential crash in ListView.ItemControl.ItemsMouseDown
|
|
When we draw a button with ImageAboveText.ImageAboveText and the
text is too big to fit below the image we have to draw the text over
the image. This should happen from the bottom, not from the top as
the previous implementation did. With the previous code we ended up
having the text at the top of the button under certain conditions.
|
|
|
|
7d1b878fbf13462a282860c6d1dd493a48d7b1eb altered the behavior of removing rows, breaking
the DataGridViewRowCollectionTest.ClearRows () test
Before the change, this is what happened when the list was cleared
(the number in brackets is the value of the Index property of the DataGridViewRow):
[0] Remove [1] ReIndex [0] Remove [1] ReIndex [0]
[1] --------> [2] --------> [1] ------> [2] -------> [1] ...
[2] [3] [2]
[3]
After the offending commit, ReIndex is only called after the list is cleared, which means
the Index property of the rows is never updated (as there are no items in the list).
The fix is to explicitly set the Index of each row to 0.
This was the end result before the commit anyway, so we can omit the ReIndex call entirely.
|
|
[MWF] Fix focus issue when removing last item in ListView
|
|
[MWF] DataGridView: ensure first_row_index will be valid after row removal
|
|
[MWF] DataGridViewRowCollection Clear() speed up
|
|
|
|
Consider spans and absolute sizes in computing PreferredSize for
TableLayoutPanel.
Also fix bug in allocating unused width to SizeType.Absolute columns.
Change-Id: Ic5065b83ced8195d1c5be39087f33b0d632fc9a6
|
|
A previous change (885b065e) accidentally calculated the text size
in some places without padding. This resulted in a slightly to small
text rectangle, causing the text to be truncated.
|
|
When the VirtualListSize changes, the focus_item_index should
be reset (similar to how it currently resets the selected indices).
If the last item in a ListView has focus and it is removed by
an another action on the form (i.e. push a button to remove the
current item), then the focused_item_index is not updated when
the VirtualListSize changes, even though that item doesn't exist
anymore. When the ListView receives focus again, it tries to
invalidate the current focused item which causes an
ArgumentOutOfRangeException.
|
|
first_row_index needs to be <= RowsLeft - 1, since we are comparing a
row count vs an index.
|
|
|
|
DataGridView keeps track of the first visible row in first_row_index.
DataGridViewRowCollection will notify DataGridView its about to delete 1 or
more rows via OnRowsPreRemovedInternal(). When this happens, we need to
ensure first_row_index will still fall within the number of rows that
will remain after the row removal.
This fixes https://bugzilla.xamarin.com/show_bug.cgi?id=24372 which I
reported.
|
|
When issuing a Clear() to remove all rows, a ReIndex() was being called for
each row that was being removed. This is extremely inefficient, instead
do a single ReIndex() after all rows have been removed.
Before doing a Clear() of 30k rows was taking 5.8 seconds. With this patch
it now takes 670ms.
|
|
[MWF] Improve ellipsis handling
|
|
[MWF] Partially implement Help.ShowHelp
|
|
- Don't subtract room for ellipsis. Ellipsis should be
handled by the renderer so we shouldn't reserve space for it.
Otherwise we end up not getting ellipsis (because the renderer
thinks there is enough space available), or we don't use up the
available space.
- Don't allow text to go below button if we want to show ellipsis.
|
|
When a button is pressed the image and the text needs to be rendered one
pixel to the right and to the bottom so that there is some visual
feedback of the button press. Previously this was only the case if
TextImageRelation was set to Overlay.
|
|
[MWF] Improve button text layout
|