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

Reply via email to