While trying to find the cause of this i found another bug. When using --gdi sw -a 32 (might be with other then -a 32 as well) gdi_opaque_rect mostly (always?) gets the wrong color. (the correct color is drawn before the text, but the space outside the text in the selection is inverted) forcing gdi->clrconv->invert = 1; the correct color is used. this can be seen in regedit as shown below... also the welcome screen have a rect at the keymap indicator where this problem is shown during logon.
The real problem is probably elsewhere, but this is just trying to narrow it down, it does work with --gdi hw. on the other hand the gdi implementation do display the border dotted correctly it seams. in xf_gdi_patblt when we get brush->style == GDI_BS_PATTERN and brush->bpp == 1 the fore and back colors are swaped? when changed we get no border displayed, might it be some error in xf_mono_bitmap_new, or how can i debug this? On Wed, Nov 30, 2011 at 12:27 AM, Christian Nilsson <nik...@gmail.com>wrote: > Hi! > > This is with Win7 Ultimate x64 > i noted i minimal graphic error when listview item selection is drawn. > > Top part is what is drawn by FreeRDP 1.0 latest git, while the bottom is a > screenshot taken by the server > Regedit displays the problem > > Below is a piece of vb.net code to display the above form (written in VS > 2010) just needs a new windows forms app, paste this code and run it. > I think you guys fix it in a jiff instead of me trying to poke around and > try to find what drawing instruction is the bad one. > > /Christian > > Public Class Form1 > Private WithEvents lst As New ListView > Private WithEvents pic As New PictureBox > Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) > Handles MyBase.Load > 'this is the listview showing the problem > lst.View = View.Details > lst.Columns.Add("col1", 100) > lst.Items.Add("row").Selected = True > lst.Items.Add("row row row") > lst.MultiSelect = False > lst.HideSelection = False > lst.FullRowSelect = True > lst.Dock = DockStyle.Top > lst.Size = New Size(Me.ClientSize.Width, > lst.Items(1).Bounds.Bottom + (lst.Size - lst.ClientSize).Height) > > lst.Location = New Point(0, 0) > Me.Controls.Add(lst) > > > 'this is the imagebox displaying the screenshoot > pic.Dock = DockStyle.Fill > pic.Size = New Size(Me.ClientSize.Width, Me.ClientSize.Height \ 2) > pic.Location = New Point(0, lst.Height) > pic.BorderStyle = BorderStyle.Fixed3D > Me.Controls.Add(pic) > pic.BringToFront() > > Me.Show() > Me.Focus() > Application.DoEvents() > > TakeImage() > End Sub > > Private Sub TakeImage() Handles lst.SelectedIndexChanged, pic.Click > Dim swShoot As New Bitmap(lst.Size.Width, lst.Size.Height) > lst.DrawToBitmap(swShoot, lst.Bounds) > pic.Image = swShoot > End Sub > End Class > > ------------------------------------------------------------------------------ All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-novd2d _______________________________________________ Freerdp-devel mailing list Freerdp-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freerdp-devel