https://git.reactos.org/?p=reactos.git;a=commitdiff;h=4ca79260937babaf51bd7…
commit 4ca79260937babaf51bd7f258f37f921e1895766
Author: Mas Ahmad Muhammad <m.charly81(a)gmail.com>
AuthorDate: Fri Jan 8 00:47:10 2021 +0700
Commit: GitHub <noreply(a)github.com>
CommitDate: Thu Jan 7 18:47:10 2021 +0100
[TRANSLATION] Fix format for Indonesian translation (#3418)
- USETUP: Fix alignment on translation.
- SHELL32: Update and fix translation.
---
base/setup/usetup/lang/id-ID.h | 22 ++++++++---------
dll/win32/shell32/lang/id-ID.rc | 52 ++++++++++++++++++++---------------------
2 files changed, 37 insertions(+), 37 deletions(-)
diff --git a/base/setup/usetup/lang/id-ID.h b/base/setup/usetup/lang/id-ID.h
index f7df6647aae..fc566c19022 100644
--- a/base/setup/usetup/lang/id-ID.h
+++ b/base/setup/usetup/lang/id-ID.h
@@ -461,21 +461,21 @@ static MUI_ENTRY idIDDevicePageEntries[] =
{
6,
19,
- "Anda dapat mengubah pengaturan perangkat keras dengan menekan tombol ATAS atau",
+ "Anda dapat mengubah pengaturan perangkat keras dengan menekan tombol",
TEXT_STYLE_NORMAL,
TEXT_ID_STATIC
},
{
6,
20,
- "BAWAH untuk menunjuk daftar. Kemudian tekan tombol ENTER untuk memilih pengaturan",
+ "ATAS atau BAWAH untuk menunjuk daftar. Kemudian tekan tombol ENTER",
TEXT_STYLE_NORMAL,
TEXT_ID_STATIC
},
{
6,
21,
- "alternatif.",
+ "untuk memilih pengaturan alternatif.",
TEXT_STYLE_NORMAL,
TEXT_ID_STATIC
},
@@ -593,21 +593,21 @@ static MUI_ENTRY idIDUpgradePageEntries[] =
{
6,
8,
- "Penyetelan ReactOS dapat meningkatkan salah satu dari pemasangan ReactOS yang",
+ "Penyetelan ReactOS dapat meningkatkan salah satu dari pemasangan",
TEXT_STYLE_NORMAL,
TEXT_ID_STATIC
},
{
6,
9,
- "tersedia di bawah ini, atau, jika pemasangan ReactOS ini rusak, program",
+ "ReactOS yang tersedia di bawah ini, atau, jika pemasangan ReactOS",
TEXT_STYLE_NORMAL,
TEXT_ID_STATIC
},
{
6,
10,
- "penyetelan ini dapat mengupayakan perbaikan.",
+ "ini rusak, program penyetelan ini dapat mengupayakan perbaikan.",
TEXT_STYLE_NORMAL,
TEXT_ID_STATIC
},
@@ -1355,21 +1355,21 @@ static MUI_ENTRY idIDInstallDirectoryEntries[] =
{
6,
14,
- "Untuk mengubah direktori yang disarankan, tekan BACKSPACE untuk menghapus",
+ "Untuk mengubah direktori yang disarankan, tekan BACKSPACE untuk",
TEXT_STYLE_NORMAL,
TEXT_ID_STATIC
},
{
6,
15,
- "beberapa karakter dan kemudian ketikkan direktori yang anda inginkan untuk",
+ "menghapus beberapa karakter dan kemudian ketikkan direktori yang",
TEXT_STYLE_NORMAL,
TEXT_ID_STATIC
},
{
6,
16,
- "memasang ReactOS.",
+ "anda inginkan untuk memasang ReactOS.",
TEXT_STYLE_NORMAL,
TEXT_ID_STATIC
},
@@ -1414,7 +1414,7 @@ static MUI_ENTRY idIDFileCopyEntries[] =
{
0,
14,
- "This may take several minutes to complete.",
+ "Mungkin butuh beberapa waktu untuk penyelesaiannya.",
TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER,
TEXT_ID_STATIC
},
@@ -2231,7 +2231,7 @@ MUI_STRING idIDStrings[] =
{STRING_CHECKINGDISK,
"Penyetelan sedang memeriksa cakram anda"},
{STRING_FORMATDISK1,
- " Format partiti sebagai sistem berkas %S (format cepat) "},
+ " Format partisi sebagai sistem berkas %S (format cepat) "},
{STRING_FORMATDISK2,
" Format partisi sebagai sistem berkas %S "},
{STRING_KEEPFORMAT,
diff --git a/dll/win32/shell32/lang/id-ID.rc b/dll/win32/shell32/lang/id-ID.rc
index b89c71a6b4b..8d2931cf96f 100644
--- a/dll/win32/shell32/lang/id-ID.rc
+++ b/dll/win32/shell32/lang/id-ID.rc
@@ -237,10 +237,10 @@ BEGIN
EDITTEXT 14015, 58, 128, 170, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL
LTEXT "", -1, 8, 144, 221, 1, SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE
LTEXT "Atribut:", 14020, 8, 152, 46, 10
- AUTOCHECKBOX "&Hanya-baca", 14021, 58, 188, 53, 10
- AUTOCHECKBOX "&Tersembunyi", 14022, 112, 188, 53, 10
- AUTOCHECKBOX "&Arsip", 14023, 181, 188, 49, 10
- PUSHBUTTON "Tin&gkat Lanjut...", 14028, 166, 185, 64, 15, WS_CHILD | WS_VISIBLE | WS_TABSTOP
+ AUTOCHECKBOX "&Hanya-baca", 14021, 58, 151, 70, 10
+ AUTOCHECKBOX "&Tersembunyi", 14022, 126, 151, 70, 10
+ AUTOCHECKBOX "&Arsip", 14023, 181, 151, 70, 10
+ PUSHBUTTON "Tin&gkat Lanjut...", 14028, 158, 150, 70, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
END
IDD_FILE_PROPERTIES DIALOGEX 0, 0, 240, 205
@@ -272,11 +272,11 @@ BEGIN
LTEXT "Diakses:", 14018, 8, 163, 45, 10
EDITTEXT 14019, 58, 163, 170, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP
LTEXT "", -1, 8, 179, 221, 1, SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE
- LTEXT "Atribut:", 14020, 8, 189, 53, 10
- AUTOCHECKBOX "&Hanya-baca", 14021, 58, 151, 53, 10
- AUTOCHECKBOX "&Tersembunyi", 14022, 112, 151, 50, 10
- AUTOCHECKBOX "&Arsip", 14023, 181, 151, 70, 10
- PUSHBUTTON "Tin&gkat Lanjut...", 14028, 165, 150, 63, 14, WS_TABSTOP
+ LTEXT "Atribut:", 14020, 8, 189, 45, 10
+ AUTOCHECKBOX "&Hanya-baca", 14021, 58, 188, 67, 10
+ AUTOCHECKBOX "&Tersembunyi", 14022, 126, 188, 50, 10
+ AUTOCHECKBOX "&Arsip", 14023, 181, 188, 49, 10
+ PUSHBUTTON "Tin&gkat Lanjut...", 14028, 180, 185, 50, 14, WS_TABSTOP
END
IDD_FILE_VERSION DIALOGEX 0, 0, 235, 215
@@ -707,17 +707,17 @@ BEGIN
END
IDD_LINK_PROBLEM DIALOGEX 0, 0, 250, 140
-CAPTION "Problem with Shortcut"
+CAPTION "Masalah pada Pintasan"
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
FONT 8, "MS Shell Dlg"
BEGIN
ICON 0, IDC_LINK_PROBLEM_ICON, 5, 5, 0, 0
- LTEXT "The item '%s' that this shortcut refers to has been changed or moved, so this shortcut will no longer work properly.", IDC_LINK_PROBLEM_LABEL1, 35, 5, 210, 35
- LTEXT "Nearest match based on name, type, size, and date:", IDC_LINK_PROBLEM_LABEL2, 35, 45, 210, 35
- LTEXT "Do you want to fix this shortcut to point to this target or do you just want to delete it?", -1, 35, 85, 210, 30
- DEFPUSHBUTTON "&Fix it", IDOK, 55, 120, 60, 15, WS_DISABLED
- PUSHBUTTON "&Delete it", IDYES, 120, 120, 60, 15
- PUSHBUTTON "Cancel", IDCANCEL, 185, 120, 60, 15
+ LTEXT "Item '%s' yang menjadi rujukan pintasan telah berubah atau berpindah, pintasan ini akan bekerja tidak semestinya.", IDC_LINK_PROBLEM_LABEL1, 35, 5, 210, 35
+ LTEXT "Kecocokan terdekat yang didasarkan pada nama, jenis, ukuran, dan tanggal:", IDC_LINK_PROBLEM_LABEL2, 35, 45, 210, 35
+ LTEXT "Apakah anda ingin mempernaiki rujukan dari pintasan atau hanya ingin menghapusnya?", -1, 35, 85, 210, 30
+ DEFPUSHBUTTON "&Perbaiki", IDOK, 55, 120, 60, 15, WS_DISABLED
+ PUSHBUTTON "&Hapus", IDYES, 120, 120, 60, 15
+ PUSHBUTTON "Batal", IDCANCEL, 185, 120, 60, 15
END
STRINGTABLE
@@ -994,14 +994,14 @@ BEGIN
IDS_NO_ICONS "Berkas '%s' tidak berisi ikon.\n\nPilih ikon dari daftar atau pilih berkas yang berbeda."
IDS_FILE_NOT_FOUND "Berkas '%s' tidak ditemukan."
IDS_LINK_INVALID "The item '%s' that this shortcut refers to has been changed or moved, so this shortcut will no longer work properly."
- IDS_COPYTOMENU "Copy to &folder..."
- IDS_COPYTOTITLE "Select the place where you want to copy '%s'. Then click the Copy button."
- IDS_COPYITEMS "Copy Items"
- IDS_COPYBUTTON "Copy"
- IDS_MOVETOMENU "Mo&ve to folder..."
- IDS_MOVETOTITLE "Select the place where you want to move '%s' to. Then click the Move button."
- IDS_MOVEITEMS "Move Items"
- IDS_MOVEBUTTON "Move"
-
- IDS_SYSTEMFOLDER "System Folder"
+ IDS_COPYTOMENU "Salin ke &folder..."
+ IDS_COPYTOTITLE "Pilih tempat dimana anda ingin menyalin '%s'. Kemudian klik tombol Salin."
+ IDS_COPYITEMS "Salin Item"
+ IDS_COPYBUTTON "Salin"
+ IDS_MOVETOMENU "&Pindahkan ke folder..."
+ IDS_MOVETOTITLE "Pilih tempat dimana anda ingin memindahkan '%s' to. Kemudian klik tombol Pindahkan."
+ IDS_MOVEITEMS "Pindahkan Item"
+ IDS_MOVEBUTTON "Pindahkan"
+
+ IDS_SYSTEMFOLDER "Folder Sistem"
END
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=1e9547e0d04b416b71714…
commit 1e9547e0d04b416b71714588ac5c334f1f93f47a
Author: Joachim Henze <Joachim.Henze(a)reactos.org>
AuthorDate: Wed Jan 6 00:14:32 2021 +0100
Commit: Joachim Henze <Joachim.Henze(a)reactos.org>
CommitDate: Wed Jan 6 00:41:45 2021 +0100
[SHELL32] Improve German (de-DE) translation
---
dll/win32/shell32/lang/de-DE.rc | 28 ++++++++++++++--------------
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/dll/win32/shell32/lang/de-DE.rc b/dll/win32/shell32/lang/de-DE.rc
index a88cb99ddc4..65bcdb4b1d2 100644
--- a/dll/win32/shell32/lang/de-DE.rc
+++ b/dll/win32/shell32/lang/de-DE.rc
@@ -11,7 +11,7 @@ BEGIN
BEGIN
MENUITEM "", -1, MFT_SEPARATOR
MENUITEM "&Automatisch anordnen", FCIDM_SHVIEW_AUTOARRANGE
- MENUITEM "Align to &Grid", FCIDM_SHVIEW_ALIGNTOGRID
+ MENUITEM "Am &Raster ausrichten", FCIDM_SHVIEW_ALIGNTOGRID
END
END
@@ -32,7 +32,7 @@ BEGIN
BEGIN
MENUITEM "", -1, MFT_SEPARATOR
MENUITEM "&Automatisch anordnen", FCIDM_SHVIEW_AUTOARRANGE
- MENUITEM "Align to &Grid", FCIDM_SHVIEW_ALIGNTOGRID
+ MENUITEM "Am &Raster ausrichten", FCIDM_SHVIEW_ALIGNTOGRID
END
MENUITEM "Aktualisieren", FCIDM_SHVIEW_REFRESH
MENUITEM "", -1, MFT_SEPARATOR
@@ -702,7 +702,7 @@ BEGIN
LTEXT "Wählen Sie eine Datei aus, die auf diesem Ordnersymbol angezeigt wird.", IDC_STATIC, 15, 87, 115, 33
PUSHBUTTON "&Datei auswählen...", IDC_FOLDERCUST_CHOOSE_PIC, 15, 125, 115, 15
PUSHBUTTON "&Wiederherstellen", IDC_FOLDERCUST_RESTORE_DEFAULTS, 15, 144, 115, 15
- LTEXT "Preview:", IDC_STATIC, 139, 85, 81, 11
+ LTEXT "Vorschau:", IDC_STATIC, 139, 85, 81, 11
CONTROL "", IDC_FOLDERCUST_PREVIEW_BITMAP, "STATIC", SS_BITMAP | WS_GROUP, 150, 100, 60, 60
GROUPBOX "Ordnersymbole", IDC_STATIC, 5, 170, 230, 65, WS_TABSTOP
LTEXT "Sie können das Ordnersymbol ändern. Wenn Sie das Symbol ändern, wird keine Vorschau der Ordnerinhalte mehr angezeigt.", IDC_STATIC, 15, 180, 210, 25
@@ -711,17 +711,17 @@ BEGIN
END
IDD_LINK_PROBLEM DIALOGEX 0, 0, 250, 140
-CAPTION "Problem with Shortcut"
+CAPTION "Verknüpfungsproblem"
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
FONT 8, "MS Shell Dlg"
BEGIN
ICON 0, IDC_LINK_PROBLEM_ICON, 5, 5, 0, 0
- LTEXT "The item '%s' that this shortcut refers to has been changed or moved, so this shortcut will no longer work properly.", IDC_LINK_PROBLEM_LABEL1, 35, 5, 210, 35
- LTEXT "Nearest match based on name, type, size, and date:", IDC_LINK_PROBLEM_LABEL2, 35, 45, 210, 35
- LTEXT "Do you want to fix this shortcut to point to this target or do you just want to delete it?", -1, 35, 85, 210, 30
- DEFPUSHBUTTON "&Fix it", IDOK, 55, 120, 60, 15, WS_DISABLED
- PUSHBUTTON "&Delete it", IDYES, 120, 120, 60, 15
- PUSHBUTTON "Cancel", IDCANCEL, 185, 120, 60, 15
+ LTEXT "Das Ziel '%s', auf das sich die Verknüpfung bezieht, wurde verändert oder verschoben. Die Verknüpfung ist nicht länger funktionsfähig.", IDC_LINK_PROBLEM_LABEL1, 35, 5, 210, 35
+ LTEXT "Beste Übereinstimmung bezüglich Name, Typ, Größe und Datum:", IDC_LINK_PROBLEM_LABEL2, 35, 45, 210, 35
+ LTEXT "Möchten Sie die Verknüpfung korrigieren, auf das neue Ziel zu verweisen, oder soll die Verknüpfung gelöscht werden?", -1, 35, 85, 210, 30
+ DEFPUSHBUTTON "&Korrigieren", IDOK, 55, 120, 60, 15, WS_DISABLED
+ PUSHBUTTON "&Löschen", IDYES, 120, 120, 60, 15
+ PUSHBUTTON "Abbrechen", IDCANCEL, 185, 120, 60, 15
END
STRINGTABLE
@@ -896,7 +896,7 @@ BEGIN
IDS_CANTEJECTMEDIA "Auswerfen des Mediums nicht möglich (Fehlercode: %lu)."
IDS_CANTSHOWPROPERTIES "Anzeigen der Eigenschaften nicht möglich (Fehlercode: %lu)."
IDS_CANTDISCONNECT "Trennen nicht möglich (Fehlercode: %lu)."
- IDS_NONE "(None)"
+ IDS_NONE "(Leer)"
/* Friendly File Type Names */
IDS_DIRECTORY "Dateiordner"
@@ -933,7 +933,7 @@ BEGIN
IDS_EDIT_VERB "Bearbeiten"
IDS_FIND_VERB "Finden"
IDS_PRINT_VERB "Drucken"
- IDS_CMD_VERB "Command Prompt here"
+ IDS_CMD_VERB "Command Prompt hier"
IDS_FILE_FOLDER "%u Dateien, %u Ordner"
IDS_PRINTERS "Drucker"
@@ -998,7 +998,7 @@ BEGIN
IDS_EDITING_ACTION "Vorgang bearbeiten für Typ: "
IDS_NO_ICONS "Die Datei '%s' enthält keine Symbole.\n\nWählen Sie ein Symbol aus der Liste oder wählen Sie eine andere Datei."
IDS_FILE_NOT_FOUND "Die Datei '%s' wurde nicht gefunden."
- IDS_LINK_INVALID "The item '%s' that this shortcut refers to has been changed or moved, so this shortcut will no longer work properly."
+ IDS_LINK_INVALID "Das Ziel '%s', auf das sich die Verknüpfung bezieht, wurde verändert oder verschoben. Die Verknüpfung ist nicht länger funktionsfähig."
IDS_COPYTOMENU "In &Ordner kopieren..."
IDS_COPYTOTITLE "Wählen Sie den Ort, in den '%s' kopiert werden soll. Klicken Sie anschließend auf Kopieren."
IDS_COPYITEMS "Elemente kopieren"
@@ -1008,5 +1008,5 @@ BEGIN
IDS_MOVEITEMS "Elemente verschieben"
IDS_MOVEBUTTON "Verschieben"
- IDS_SYSTEMFOLDER "System Folder"
+ IDS_SYSTEMFOLDER "Systemordner"
END
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=232c45fcd71b12a0d726b…
commit 232c45fcd71b12a0d726b47f4a72e9a16f87432a
Author: Joachim Henze <Joachim.Henze(a)reactos.org>
AuthorDate: Tue Jan 5 20:30:40 2021 +0100
Commit: Joachim Henze <Joachim.Henze(a)reactos.org>
CommitDate: Tue Jan 5 20:30:40 2021 +0100
[WIN32SS][COMCTL32] Commit Flip_Fix_9.patch
flip_fix_9.patch fixes:
CORE-16984 " 'SPINA Thrulg' / 'SPINA Thyr' / 'Sim Thyr' have images flipped"
CORE-17194 "StretchDIBits test" isn't work correctly"
"Output of 'Project 3 Test'"
CORE-14701 "DVDStyler 3.0.4 transparent toolbars"
CORE-14701 "DVDStyler 3.0.4 erroneously black around icons of welcome-dlg"
CORE-14671 "'Peazip' shows icons in buttons and menubar vertically flipped"
"Double Commander shoes icons flipped in buttons, menubar, listview and the treeview"
CORE-13273 "Welcome to Lazarus" icon shows flipped
CORE-13026 "'CudaText app' icon shows flipped"
Not all of those are duplicates, although they appear to be at first glance.
It affects different controls and some of those tickets do have different 'guilty revs' than others.
The patch does consist of 3 parts:
1.) win32ss/gdi/ntgdi/dibobj.c
This one is the most clean part of it, that addresses most of the flipping issues now.
2.) The hack in comctl32.h redefining the version:
We used that in the past to appease some, but not all of the issues listed above.
But it does hide additional issues, e.g. in DvDStyler, therefore we seem to still need that appeasement even today.
Most likely it would make sense to aim to avoid this part in the future.
part 2.) was committed as first appeasement on its own already into
0.4.14-RC-24-g 198b61e
0.4.13-RC-7-g 67211fa
0.4.12-RC-5-g 8449527
0.4.11-RC-16-g b906163
0.4.10-RC-7-g f1e80fe
0.4.9-RC-34-g 9d758ae
3.) toolbar.c change
That part fixes at least the toolbar case for DvDStyler
without relying on the comctl32.h hack any longer,
but it was still not enough to completely get rid of part 2.) yet.
Many thanks to all contributors: 'I_kill_Bugs', Doug Lyons and also 'Julenuri' for testing.
The patch gave nice testbot results:
KVM: https://reactos.org/testman/compare.php?ids=75704,75714
VBox: https://reactos.org/testman/compare.php?ids=75705,75715
and we also created a summary of manual test-results:
https://jira.reactos.org/browse/CORE-17415?focusedCommentId=126668&page=com…
If you read this comment via git blame and your goal is to get rid of the hack in comctl32.h, I would highly recommend
to redo the tests of that testing table, and if that is asked too much, then please test at least the following cases:
CORE-14701 "DVDStyler 3.0.4 transparent toolbars"
CORE-14701 "DVDStyler 3.0.4 erroneously black around icons of welcome-dlg"
"DVDStyler 3.0.4 erroneously black/transparent within comboboxes of properties of VMGM menu"
and try to add what might be needed to fix them, and double-check again:
"DoubleCommander optionsDlg the most complex testcase, contains flip-prone icons in treeview, listview, menubar, buttons, statics". Only some of its flipped icons were impacted by the comctl32.h change before.
---
dll/win32/comctl32/comctl32.h | 9 +++++++
dll/win32/comctl32/toolbar.c | 4 ++++
win32ss/gdi/ntgdi/dibobj.c | 55 ++++++++++++++++++++++++++-----------------
3 files changed, 47 insertions(+), 21 deletions(-)
diff --git a/dll/win32/comctl32/comctl32.h b/dll/win32/comctl32/comctl32.h
index fe4af2ad0de..40baabb24ff 100644
--- a/dll/win32/comctl32/comctl32.h
+++ b/dll/win32/comctl32/comctl32.h
@@ -36,6 +36,13 @@
#include "commctrl.h"
#include "windowsx.h"
+#ifdef __REACTOS__
+// This is really ComCtl32 v5.82, the last one not supporting SxS
+#undef COMCTL32_VERSION // Undefines what the PSDK gave to us
+#define COMCTL32_VERSION 5
+#define COMCTL32_VERSION_MINOR 82
+#endif
+
extern HMODULE COMCTL32_hModule DECLSPEC_HIDDEN;
extern HBRUSH COMCTL32_hPattern55AABrush DECLSPEC_HIDDEN;
@@ -188,7 +195,9 @@ INT Str_GetPtrAtoW (LPCSTR lpSrc, LPWSTR lpDest, INT nMaxLen) DECLSPEC_HIDDEN;
BOOL Str_SetPtrAtoW (LPWSTR *lppDest, LPCSTR lpSrc) DECLSPEC_HIDDEN;
BOOL Str_SetPtrWtoA (LPSTR *lppDest, LPCWSTR lpSrc) DECLSPEC_HIDDEN;
+#ifndef __REACTOS__
#define COMCTL32_VERSION_MINOR 81
+#endif
/* Our internal stack structure of the window procedures to subclass */
typedef struct _SUBCLASSPROCS {
diff --git a/dll/win32/comctl32/toolbar.c b/dll/win32/comctl32/toolbar.c
index e2b6193b663..b725f3c5121 100644
--- a/dll/win32/comctl32/toolbar.c
+++ b/dll/win32/comctl32/toolbar.c
@@ -6603,6 +6603,10 @@ TOOLBAR_Paint (TOOLBAR_INFO *infoPtr, WPARAM wParam)
TRACE("psrect=(%s)\n", wine_dbgstr_rect(&ps.rcPaint));
+#ifdef __REACTOS__
+ TOOLBAR_EraseBackground(infoPtr, (WPARAM)hdc, (LPARAM) 0);
+#endif
+
TOOLBAR_Refresh (infoPtr, hdc, &ps);
if (!wParam) EndPaint (infoPtr->hwndSelf, &ps);
diff --git a/win32ss/gdi/ntgdi/dibobj.c b/win32ss/gdi/ntgdi/dibobj.c
index 93208665b39..7b8cc330c73 100644
--- a/win32ss/gdi/ntgdi/dibobj.c
+++ b/win32ss/gdi/ntgdi/dibobj.c
@@ -951,25 +951,28 @@ GreGetDIBitsInternal(
RECT rcDest;
POINTL srcPoint;
BOOL ret ;
+ int newLines = -1;
- if (StartScan > (ULONG)psurf->SurfObj.sizlBitmap.cy)
+ if (StartScan >= abs(Info->bmiHeader.biHeight))
{
- ScanLines = 0;
+ ScanLines = 1;
goto done;
}
else
{
- ScanLines = min(ScanLines, psurf->SurfObj.sizlBitmap.cy - StartScan);
+ ScanLines = min(ScanLines, abs(Info->bmiHeader.biHeight) - StartScan);
}
+ if (abs(Info->bmiHeader.biHeight) < psurf->SurfObj.sizlBitmap.cy)
+ {
+ StartScan += psurf->SurfObj.sizlBitmap.cy - abs(Info->bmiHeader.biHeight);
+ }
/* Fixup values */
- Info->bmiHeader.biWidth = psurf->SurfObj.sizlBitmap.cx;
Info->bmiHeader.biHeight = (height < 0) ?
-(LONG)ScanLines : ScanLines;
/* Create the DIB */
hBmpDest = DIB_CreateDIBSection(pDC, Info, Usage, &pDIBits, NULL, 0, 0);
/* Restore them */
- Info->bmiHeader.biWidth = width;
Info->bmiHeader.biHeight = height;
if(!hBmpDest)
@@ -982,27 +985,33 @@ GreGetDIBitsInternal(
psurfDest = SURFACE_ShareLockSurface(hBmpDest);
- RECTL_vSetRect(&rcDest, 0, 0, psurf->SurfObj.sizlBitmap.cx, ScanLines);
-
+ RECTL_vSetRect(&rcDest, 0, 0, Info->bmiHeader.biWidth, ScanLines);
+ Info->bmiHeader.biWidth = width;
srcPoint.x = 0;
- if(height < 0)
+ if (abs(Info->bmiHeader.biHeight) <= psurf->SurfObj.sizlBitmap.cy)
{
- srcPoint.y = 0;
-
- if(ScanLines <= StartScan)
- {
- ScanLines = 1;
- SURFACE_ShareUnlockSurface(psurfDest);
- GreDeleteObject(hBmpDest);
- goto done;
- }
-
- ScanLines -= StartScan;
+ srcPoint.y = psurf->SurfObj.sizlBitmap.cy - StartScan - ScanLines;
}
else
{
- srcPoint.y = StartScan;
+ /* Determine the actual number of lines copied from the */
+ /* original bitmap. It might be different from ScanLines. */
+ newLines = abs(Info->bmiHeader.biHeight) - psurf->SurfObj.sizlBitmap.cy;
+ newLines = min((int)(StartScan + ScanLines - newLines), psurf->SurfObj.sizlBitmap.cy);
+ if (newLines > 0)
+ {
+ srcPoint.y = psurf->SurfObj.sizlBitmap.cy - newLines;
+ if (StartScan > psurf->SurfObj.sizlBitmap.cy)
+ {
+ newLines -= (StartScan - psurf->SurfObj.sizlBitmap.cy);
+ }
+ }
+ else
+ {
+ newLines = 0;
+ srcPoint.y = psurf->SurfObj.sizlBitmap.cy;
+ }
}
EXLATEOBJ_vInitialize(&exlo, psurf->ppal, psurfDest->ppal, 0xffffff, 0xffffff, 0);
@@ -1022,7 +1031,11 @@ GreGetDIBitsInternal(
{
RtlCopyMemory(Bits, pDIBits, DIB_GetDIBImageBytes (width, ScanLines, bpp));
}
-
+ /* Update if line count has changed */
+ if (newLines != -1)
+ {
+ ScanLines = (UINT)newLines;
+ }
GreDeleteObject(hBmpDest);
EXLATEOBJ_vCleanup(&exlo);
}