FW: Edit Paste operation does not behave same as MS Windows

Alexandre Julliard julliard at winehq.org
Thu May 27 19:12:21 CDT 2004


Krishna Murthy <Krishna.Murthy at guptaworldwide.com> writes:

> Actually the logic truncates the data which exceeded the buffer. If the
> honor limit is set and the size exceeded, the EDIT_MakeFit will return TRUE.
> The following code after the EDIT_MakeFit will try to take limit to the
> buffer size.
>
> +	/* Only replace or insert that many characters that can fit into the
> +	edit control. Do this only if honor_limit is TRUE */
> +	if(honor_limit && strl > es->buffer_limit)
> +		strl = es->buffer_limit - (tl - (e-s));

That only takes into account the limit, not the current buffer
size. It's very possible that you need to grow the buffer even when
the limit is not exceeded. Also you only check the length of the
inserted string against the limit, you should check the total
resulting length instead.

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list