Commit f1023b4b authored by Hugh McMaster's avatar Hugh McMaster Committed by Alexandre Julliard

conhost: Popup Attributes should match Character Attributes when creating a new screen buffer.

Popup Attributes should match Character Attributes when a new screen buffer is created. The existing Popup Attributes are copied when using a pseudo console. Signed-off-by: 's avatarHugh McMaster <hugh.mcmaster@outlook.com> Signed-off-by: 's avatarJacek Caban <jacek@codeweavers.com> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent 86e521d5
...@@ -1049,8 +1049,8 @@ static void test_new_screen_buffer_color_attributes(HANDLE hConOut) ...@@ -1049,8 +1049,8 @@ static void test_new_screen_buffer_color_attributes(HANDLE hConOut)
ok(csbi2.wAttributes == orig_attr, "Character Attributes should have been copied: " ok(csbi2.wAttributes == orig_attr, "Character Attributes should have been copied: "
"got %#x, expected %#x\n", csbi2.wAttributes, orig_attr); "got %#x, expected %#x\n", csbi2.wAttributes, orig_attr);
todo_wine ok(csbi2.wPopupAttributes != orig_popup, "Popup Attributes should not match original value\n"); ok(csbi2.wPopupAttributes != orig_popup, "Popup Attributes should not match original value\n");
todo_wine ok(csbi2.wPopupAttributes == orig_attr, "Popup Attributes should match Character Attributes\n"); ok(csbi2.wPopupAttributes == orig_attr, "Popup Attributes should match Character Attributes\n");
/* Test different Character Attributes */ /* Test different Character Attributes */
attr = FOREGROUND_BLUE|BACKGROUND_GREEN; attr = FOREGROUND_BLUE|BACKGROUND_GREEN;
...@@ -1070,8 +1070,8 @@ static void test_new_screen_buffer_color_attributes(HANDLE hConOut) ...@@ -1070,8 +1070,8 @@ static void test_new_screen_buffer_color_attributes(HANDLE hConOut)
ok(csbi2.wAttributes == attr, "Character Attributes should have been copied: " ok(csbi2.wAttributes == attr, "Character Attributes should have been copied: "
"got %#x, expected %#x\n", csbi2.wAttributes, attr); "got %#x, expected %#x\n", csbi2.wAttributes, attr);
todo_wine ok(csbi2.wPopupAttributes != orig_popup, "Popup Attributes should not match original value\n"); ok(csbi2.wPopupAttributes != orig_popup, "Popup Attributes should not match original value\n");
todo_wine ok(csbi2.wPopupAttributes == attr, "Popup Attributes should match Character Attributes\n"); ok(csbi2.wPopupAttributes == attr, "Popup Attributes should match Character Attributes\n");
ret = SetConsoleTextAttribute(hConOut, orig_attr); ret = SetConsoleTextAttribute(hConOut, orig_attr);
ok(ret, "SetConsoleTextAttribute failed: error %u\n", GetLastError()); ok(ret, "SetConsoleTextAttribute failed: error %u\n", GetLastError());
...@@ -1094,8 +1094,8 @@ static void test_new_screen_buffer_color_attributes(HANDLE hConOut) ...@@ -1094,8 +1094,8 @@ static void test_new_screen_buffer_color_attributes(HANDLE hConOut)
ok(csbi2.wAttributes == orig_attr, "Character Attributes should have been copied: " ok(csbi2.wAttributes == orig_attr, "Character Attributes should have been copied: "
"got %#x, expected %#x\n", csbi2.wAttributes, orig_attr); "got %#x, expected %#x\n", csbi2.wAttributes, orig_attr);
todo_wine ok(csbi2.wPopupAttributes != orig_popup, "Popup Attributes should not match original value\n"); ok(csbi2.wPopupAttributes != orig_popup, "Popup Attributes should not match original value\n");
todo_wine ok(csbi2.wPopupAttributes == orig_attr, "Popup Attributes should match Character Attributes\n"); ok(csbi2.wPopupAttributes == orig_attr, "Popup Attributes should match Character Attributes\n");
csbi.wPopupAttributes = orig_popup; csbi.wPopupAttributes = orig_popup;
ret = SetConsoleScreenBufferInfoEx(hConOut, &csbi); ret = SetConsoleScreenBufferInfoEx(hConOut, &csbi);
......
...@@ -85,7 +85,6 @@ static struct screen_buffer *create_screen_buffer( struct console *console, int ...@@ -85,7 +85,6 @@ static struct screen_buffer *create_screen_buffer( struct console *console, int
screen_buffer->cursor_visible = 1; screen_buffer->cursor_visible = 1;
screen_buffer->width = width; screen_buffer->width = width;
screen_buffer->height = height; screen_buffer->height = height;
screen_buffer->popup_attr = 0xf5;
screen_buffer->font.weight = FW_NORMAL; screen_buffer->font.weight = FW_NORMAL;
screen_buffer->font.pitch_family = FIXED_PITCH | FF_DONTCARE; screen_buffer->font.pitch_family = FIXED_PITCH | FF_DONTCARE;
...@@ -96,6 +95,7 @@ static struct screen_buffer *create_screen_buffer( struct console *console, int ...@@ -96,6 +95,7 @@ static struct screen_buffer *create_screen_buffer( struct console *console, int
screen_buffer->win.right = console->active->win.right - console->active->win.left; screen_buffer->win.right = console->active->win.right - console->active->win.left;
screen_buffer->win.bottom = console->active->win.bottom - console->active->win.top; screen_buffer->win.bottom = console->active->win.bottom - console->active->win.top;
screen_buffer->attr = console->active->attr; screen_buffer->attr = console->active->attr;
screen_buffer->popup_attr = console->active->attr;
} }
else else
{ {
...@@ -104,6 +104,7 @@ static struct screen_buffer *create_screen_buffer( struct console *console, int ...@@ -104,6 +104,7 @@ static struct screen_buffer *create_screen_buffer( struct console *console, int
screen_buffer->win.right = width - 1; screen_buffer->win.right = width - 1;
screen_buffer->win.bottom = height - 1; screen_buffer->win.bottom = height - 1;
screen_buffer->attr = FOREGROUND_BLUE|FOREGROUND_GREEN|FOREGROUND_RED; screen_buffer->attr = FOREGROUND_BLUE|FOREGROUND_GREEN|FOREGROUND_RED;
screen_buffer->popup_attr = 0xf5;
} }
if (wine_rb_put( &screen_buffer_map, LongToPtr(id), &screen_buffer->entry )) if (wine_rb_put( &screen_buffer_map, LongToPtr(id), &screen_buffer->entry ))
......
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