Lionel Elie Mamane píše v Čt 16. 02. 2012 v 13:57 +0100:
> Just reported and fixed fdo#46163. A list box is a control that is
> supposed to match two sets of data:
> 
>  An entry in the "list content" property is matched to the
>  corresponding entry in the "list entries" property (yeah, that's
>  rather confusing naming...). The "list entries" entry is shown to the
>  user, but the "list content" entry is stored in the database.
> 
> The bug: This matching works only if the column is of type
> VARCHAR. Even "CHAR" does not work, and in particular integer types do
> not work; integer types are a common case: store a reference number in
> the database, but show the user a nice textual description.
> 
> To understand how stupid this sounds to the user, note that VARCHAR is
> the type of variable-length strings and CHAR the type of fixed-length
> strings, not "a single character" (unless the length is 1, obviously).

Sounds crazy :-)

> Attached patch 0003-fdo-46163-convert-bound-values-to-bound-column-s-typ.patch
> makes sure the values are converted to the right type before being
> compared to the value in the database.

Looks sane => pushed
http://cgit.freedesktop.org/libreoffice/core/commit/?h=libreoffice-3-5&id=b5f33bb8fa14afa17c4694d587215cab4756aa1f

> Attached patch
> 0001-ORowSetValue-setTypeKind-correctly-convert-to-C-LOB-.patch
> avoids a crash under some conditions that can be triggered after
> application of other patch: instead of assuming the ORowSetValue
> already contains an Any, construct one if necessary. Note that the
> other cases already do type conversion "nicely", e.g. string to int or
> 8-bit int to 32-bit int.

To be honest, I am not 100% sure that I understand everything. Anyway,
the patch does sensible things. I did not find any logical or technical
problem. It made my test document working better => I have pushed it to
the 3-5 branch:
http://cgit.freedesktop.org/libreoffice/core/commit/?h=libreoffice-3-5&id=b5f33bb8fa14afa17c4694d587215cab4756aa1f

BTW: I had troubles to create the test document. The description was not
clear. I expected that I will not see the values "One,Two,Three,Four" at
all. I saw them even without the patch. Though, with your patch, the
first entry was selected when opened in the non-design view. Also I was
able to go through the entries one by one via the "forward" and "back"
buttons. This does not work without the patch.

It might be better if you attach a simple test document instead of
describing complex steps how to create it.

Anyway, you do great work. Thanks for all your patches.

Best Regards,
Petr

_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to