Commit f16ddf1b authored by James Hawkins's avatar James Hawkins Committed by Alexandre Julliard

msi: Only apply the last font style in the list of styles.

parent 971ab9aa
...@@ -240,30 +240,34 @@ LPWSTR msi_dialog_get_name( msi_dialog *dialog ) ...@@ -240,30 +240,34 @@ LPWSTR msi_dialog_get_name( msi_dialog *dialog )
* msi_dialog_get_style * msi_dialog_get_style
* *
* Extract the {\style} string from the front of the text to display and * Extract the {\style} string from the front of the text to display and
* update the pointer. * update the pointer. Only the last style in a list is applied.
*/ */
static LPWSTR msi_dialog_get_style( LPCWSTR p, LPCWSTR *rest ) static LPWSTR msi_dialog_get_style( LPCWSTR p, LPCWSTR *rest )
{ {
LPWSTR ret = NULL; LPWSTR ret;
LPCWSTR q, i; LPCWSTR q, i, first;
DWORD len; DWORD len;
q = NULL;
*rest = p; *rest = p;
if( !p ) if( !p )
return ret; return NULL;
if( *p++ != '{' )
return ret; while ((first = strchrW( p, '{' )) && (q = strchrW( first + 1, '}' )))
q = strchrW( p, '}' ); {
if( !q ) p = first + 1;
return ret; if( *p == '\\' || *p == '&' )
if( *p == '\\' || *p == '&' ) p++;
p++;
/* little bit of sanity checking to stop us getting confused with RTF */
for( i=p; i<q; i++ )
if( *i == '}' || *i == '\\' )
return NULL;
}
if (!p || !q)
return NULL;
/* little bit of sanity checking to stop us getting confused with RTF */
for( i=p; i<q; i++ )
if( *i == '}' || *i == '\\' )
return ret;
*rest = ++q; *rest = ++q;
len = q - p; len = q - p;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment