Author: jgardou
Date: Thu Jul 15 20:49:51 2010
New Revision: 48068
URL:
http://svn.reactos.org/svn/reactos?rev=48068&view=rev
Log:
Sync with trunk 48067
Added:
branches/reactos-yarotows/dll/3rdparty/libtiff/rosdiff.patch
- copied unchanged from r48067, trunk/reactos/dll/3rdparty/libtiff/rosdiff.patch
branches/reactos-yarotows/include/reactos/libs/libtiff/rosdiff.patch
- copied unchanged from r48067,
trunk/reactos/include/reactos/libs/libtiff/rosdiff.patch
Modified:
branches/reactos-yarotows/ (props changed)
branches/reactos-yarotows/base/applications/network/ping/ping.c
branches/reactos-yarotows/base/applications/regedit/childwnd.c
branches/reactos-yarotows/base/applications/regedit/hexedit.c
branches/reactos-yarotows/config.template.rbuild
branches/reactos-yarotows/dll/3rdparty/libtiff/libtiff.rbuild
branches/reactos-yarotows/dll/3rdparty/libtiff/tif_open.c
branches/reactos-yarotows/dll/win32/setupapi/setupcab.c
branches/reactos-yarotows/dll/win32/user32/windows/cursoricon.c
branches/reactos-yarotows/include/psdk/shellapi.h
branches/reactos-yarotows/include/psdk/wingdi.h
branches/reactos-yarotows/include/psdk/ws2ipdef.h
branches/reactos-yarotows/include/psdk/ws2tcpip.h
branches/reactos-yarotows/include/reactos/libs/libtiff/tiffio.h
branches/reactos-yarotows/include/reactos/winsock/msafd.h (props changed)
branches/reactos-yarotows/include/reactos/winsock/msafdlib.h (props changed)
branches/reactos-yarotows/include/reactos/winsock/mswinsock.h (props changed)
branches/reactos-yarotows/include/reactos/winsock/rnr20lib.h (props changed)
branches/reactos-yarotows/include/reactos/winsock/wsmobile.h (props changed)
branches/reactos-yarotows/ntoskrnl/ex/rundown.c
branches/reactos-yarotows/ntoskrnl/include/internal/amd64/ke.h
branches/reactos-yarotows/ntoskrnl/include/internal/mm.h
branches/reactos-yarotows/ntoskrnl/include/ntoskrnl.h
branches/reactos-yarotows/ntoskrnl/io/iomgr/adapter.c
branches/reactos-yarotows/ntoskrnl/kd64/kddata.c
branches/reactos-yarotows/ntoskrnl/ke/clock.c
branches/reactos-yarotows/ntoskrnl/mm/ARM3/miarm.h
branches/reactos-yarotows/subsystems/win32/csrss/win32csr/ (props changed)
branches/reactos-yarotows/subsystems/win32/win32k/objects/cliprgn.c
Propchange: branches/reactos-yarotows/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jul 15 20:49:51 2010
@@ -1,4 +1,4 @@
/branches/header-work:45691-47721
/branches/ros-amd64-bringup:36852
/branches/ros-amd64-bringup/reactos:34711-34712,34741,34743,34780-34782,34803,34812,34839,34842,34864,34870,34874,34877,34908-34909,34917,34965,35323-35324,35347-35348,35361,35436,35509,35515,35588,35655,35683,35739,35746,35762,35771,35777,35781,35789,35805,35823,35827,35902,35904-35906,35942,35947-35949,35952-35953,35966,36011-36013,36172,36360,36380,36388-36389,36393,36397,36445,36502-36503,36505,36570,36614,36898-36899,36930,36936,36949,36951,36958,36961,36964,36969,36972,36987-36988,36992,37323,37434,37472,37475,37536,37820-37821,37868-37869,37873,37990-37991,38013-38014,38092,38100,38148-38151,38264-38265,38268,38355,39151,39333,39335,39345,39639,40120,40122-40123,40125,40127-40128,40155,40247,40324,40608,40753,40927-40928,40986-40987,40989,40991,40993,40995-40996,41000-41001,41027-41030,41044-41045,41047-41050,41052,41070,41082-41086,41097-41098,41101,41449,41479-41480,41484-41485,41499-41500,41502,41531,41536,41540,41546-41547,41549,43080,43426,43454,43506,43566,43574,43598,43600-43602,43604-43605,43677,43682,43757,43775,43836,43838-43840,43857-43858,43860,43905-43907,43965,43969,43992,44002,44036-44037,44039-44040,44044-44045,44065,44095,44123,44144,44205,44238,44294,44338-44339,44385,44389,44391,44426,44460,44467-44468,44470-44471,44499,44501,44503-44504,44506,44510-44512,44521,44523-44526,44530,44540,44601,44634,44639,44772,44818,45124,45126-45127,46394,46478,46511,46523-46524,46526,46534-46535,46537-46539,46589,46805,47472,47846-47847,47878,47882
-/trunk/reactos:45219-48040
+/trunk/reactos:45219-48067
Modified: branches/reactos-yarotows/base/applications/network/ping/ping.c
URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/base/applicati…
==============================================================================
--- branches/reactos-yarotows/base/applications/network/ping/ping.c [iso-8859-1]
(original)
+++ branches/reactos-yarotows/base/applications/network/ping/ping.c [iso-8859-1] Thu Jul
15 20:49:51 2010
@@ -555,7 +555,6 @@
}
if (Status == SOCKET_ERROR)
{
- LostCount++;
if (WSAGetLastError() == WSAEHOSTUNREACH)
printf("Destination host unreachable.\n");
else
Modified: branches/reactos-yarotows/base/applications/regedit/childwnd.c
URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/base/applicati…
==============================================================================
--- branches/reactos-yarotows/base/applications/regedit/childwnd.c [iso-8859-1]
(original)
+++ branches/reactos-yarotows/base/applications/regedit/childwnd.c [iso-8859-1] Thu Jul 15
20:49:51 2010
@@ -297,17 +297,6 @@
break;
}
return CallWindowProc(oldwndproc, hwnd, uMsg, wParam, lParam);
-}
-
-/* fix coords to top-left when SHIFT-F10 is pressed */
-void FixPointIfContext(POINTS *pt, HWND hWnd)
-{
- if (pt->x == -1 && pt->y == -1) {
- POINT p = { 0, 0 };
- ClientToScreen(hWnd, &p);
- pt->x = (WORD)(p.x);
- pt->y = (WORD)(p.y);
- }
}
/*******************************************************************************
@@ -577,16 +566,29 @@
case WM_CONTEXTMENU:
{
- POINTS pt;
+ POINT pt;
if((HWND)wParam == pChildWnd->hListWnd)
{
int i, cnt;
BOOL IsDefault;
- pt.x = LOWORD(lParam);
- pt.y = HIWORD(lParam);
+ pt.x = (short) LOWORD(lParam);
+ pt.y = (short) HIWORD(lParam);
cnt = ListView_GetSelectedCount(pChildWnd->hListWnd);
i = ListView_GetNextItem(pChildWnd->hListWnd, -1, LVNI_FOCUSED |
LVNI_SELECTED);
- FixPointIfContext(&pt, pChildWnd->hListWnd);
+ if (pt.x == -1 && pt.y == -1)
+ {
+ RECT rc;
+ if (i != -1)
+ {
+ rc.left = LVIR_BOUNDS;
+ SendMessage(pChildWnd->hListWnd, LVM_GETITEMRECT, i, (LPARAM)
&rc);
+ pt.x = rc.left + 8;
+ pt.y = rc.top + 8;
+ }
+ else
+ pt.x = pt.y = 0;
+ }
+ ClientToScreen(pChildWnd->hListWnd, &pt);
if(i == -1)
{
TrackPopupMenu(GetSubMenu(hPopupMenus, PM_NEW), TPM_RIGHTBUTTON, pt.x, pt.y, 0,
hFrameWnd, NULL);
@@ -620,14 +622,33 @@
int iLastPos;
WORD wID;
- pt.x = LOWORD(lParam);
- pt.y = HIWORD(lParam);
- hti.pt.x = pt.x;
- hti.pt.y = pt.y;
- ScreenToClient(pChildWnd->hTreeWnd, &hti.pt);
- (void)TreeView_HitTest(pChildWnd->hTreeWnd, &hti);
-
- if ((hti.flags & TVHT_ONITEM) != 0 || (pt.x == -1 && pt.y == -1))
+ pt.x = (short) LOWORD(lParam);
+ pt.y = (short) HIWORD(lParam);
+
+ if (pt.x == -1 && pt.y == -1)
+ {
+ RECT rc;
+ hti.hItem = TreeView_GetSelection(pChildWnd->hTreeWnd);
+ if (hti.hItem != NULL)
+ {
+ TreeView_GetItemRect(pChildWnd->hTreeWnd, hti.hItem, &rc, TRUE);
+ pt.x = rc.left + 8;
+ pt.y = rc.top + 8;
+ ClientToScreen(pChildWnd->hTreeWnd, &pt);
+ hti.flags = TVHT_ONITEM;
+ }
+ else
+ hti.flags = 0;
+ }
+ else
+ {
+ hti.pt.x = pt.x;
+ hti.pt.y = pt.y;
+ ScreenToClient(pChildWnd->hTreeWnd, &hti.pt);
+ (void)TreeView_HitTest(pChildWnd->hTreeWnd, &hti);
+ }
+
+ if (hti.flags & TVHT_ONITEM)
{
hContextMenu = GetSubMenu(hPopupMenus, PM_TREECONTEXT);
(void)TreeView_SelectItem(pChildWnd->hTreeWnd, hti.hItem);
@@ -688,7 +709,6 @@
s += _tcslen(s) + 1;
}
}
- FixPointIfContext(&pt, pChildWnd->hTreeWnd);
TrackPopupMenu(hContextMenu, TPM_RIGHTBUTTON, pt.x, pt.y, 0,
pChildWnd->hWnd, NULL);
}
}
Modified: branches/reactos-yarotows/base/applications/regedit/hexedit.c
URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/base/applicati…
==============================================================================
--- branches/reactos-yarotows/base/applications/regedit/hexedit.c [iso-8859-1] (original)
+++ branches/reactos-yarotows/base/applications/regedit/hexedit.c [iso-8859-1] Thu Jul 15
20:49:51 2010
@@ -44,6 +44,10 @@
INT CaretCol;
INT CaretLine;
BOOL InMid;
+
+ INT SelStart;
+ INT SelEnd;
+ BOOL SelOnField;
} HEXEDIT_DATA, *PHEXEDIT_DATA;
/* hit test codes */
@@ -181,13 +185,25 @@
HEXEDIT_PaintLines(PHEXEDIT_DATA hed, HDC hDC, DWORD ScrollPos, DWORD First, DWORD Last,
RECT *rc)
{
DWORD dx, dy, linestart;
- INT x;
+ INT i, isave, i0, i1, x;
PBYTE buf, current, end, line;
size_t bufsize;
TCHAR hex[3], addr[17];
- RECT rct;
+ RECT rct, rct2;
FillRect(hDC, rc, (HBRUSH)(COLOR_WINDOW + 1));
+ SetTextColor(hDC, GetSysColor(COLOR_WINDOWTEXT));
+
+ if (hed->SelStart < hed->SelEnd)
+ {
+ i0 = hed->SelStart;
+ i1 = hed->SelEnd;
+ }
+ else
+ {
+ i0 = hed->SelEnd;
+ i1 = hed->SelStart;
+ }
if(hed->hBuffer)
{
@@ -212,9 +228,11 @@
end = buf + bufsize;
dy = First * hed->LineHeight;
linestart = (ScrollPos + First) * hed->ColumnsPerLine;
+ i = linestart;
current = buf + linestart;
Last = min(hed->nLines - ScrollPos, Last);
+ SetBkMode(hDC, TRANSPARENT);
while(First <= Last && current < end)
{
DWORD dh;
@@ -236,25 +254,54 @@
/* draw hex map */
dx += (hed->CharWidth / 2);
line = current;
+ isave = i;
for(x = 0; x < hed->ColumnsPerLine && current < end; x++)
{
rct.left += dh;
rct.right += dh;
_stprintf(hex, _T("%02X"), *(current++));
- ExtTextOut(hDC, dx, dy, ETO_OPAQUE, &rct, hex, 2, NULL);
+ if (i0 <= i && i < i1)
+ {
+ rct2.left = dx;
+ rct2.top = dy;
+ rct2.right = dx + hed->CharWidth * 2 + 1;
+ rct2.bottom = dy + hed->LineHeight;
+ InflateRect(&rct2, hed->CharWidth / 2, 0);
+ FillRect(hDC, &rct2, (HBRUSH)(COLOR_HIGHLIGHT + 1));
+ SetTextColor(hDC, GetSysColor(COLOR_HIGHLIGHTTEXT));
+ ExtTextOut(hDC, dx, dy, 0, &rct, hex, 2, NULL);
+ SetTextColor(hDC, GetSysColor(COLOR_WINDOWTEXT));
+ }
+ else
+ ExtTextOut(hDC, dx, dy, ETO_OPAQUE, &rct, hex, 2, NULL);
dx += dh;
+ i++;
}
/* draw ascii map */
dx = ((4 + hed->AddressSpacing + hed->SplitSpacing + (hed->ColumnsPerLine
* 3)) * hed->CharWidth);
current = line;
+ i = isave;
for(x = 0; x < hed->ColumnsPerLine && current < end; x++)
{
_stprintf(hex, _T("%C"), *(current++));
hex[0] = ((hex[0] & _T('\x007f')) >= _T(' ') ? hex[0] :
_T('.'));
- TextOut(hDC, dx, dy, hex, 1);
+ if (i0 <= i && i < i1)
+ {
+ rct2.left = dx;
+ rct2.top = dy;
+ rct2.right = dx + hed->CharWidth;
+ rct2.bottom = dy + hed->LineHeight;
+ FillRect(hDC, &rct2, (HBRUSH)(COLOR_HIGHLIGHT + 1));
+ SetTextColor(hDC, GetSysColor(COLOR_HIGHLIGHTTEXT));
+ TextOut(hDC, dx, dy, hex, 1);
+ SetTextColor(hDC, GetSysColor(COLOR_WINDOWTEXT));
+ }
+ else
+ TextOut(hDC, dx, dy, hex, 1);
dx += hed->CharWidth;
+ i++;
}
dy += hed->LineHeight;
@@ -291,14 +338,14 @@
}
pt.x -= d;
- d = (3 * hed->ColumnsPerLine * hed->CharWidth);
+ d = ((3 * hed->ColumnsPerLine + 1) * hed->CharWidth);
if(pt.x <= d)
{
return HEHT_HEXDUMP;
}
pt.x -= d;
- d = (hed->SplitSpacing * hed->CharWidth);
+ d = ((hed->SplitSpacing - 1) * hed->CharWidth);
if(pt.x <= d)
{
return HEHT_HEXDUMPSPACING;
@@ -501,7 +548,6 @@
hed->AddressSpacing = 2;
hed->SplitSpacing = 2;
hed->EditingField = TRUE; /* in hexdump field */
- hed->InMid = FALSE;
SetWindowLongPtr(hWnd, 0, (DWORD_PTR)hed);
HEXEDIT_Update(hed);
@@ -689,7 +735,7 @@
FillRect(ps.hdc, &rc, (HBRUSH)(COLOR_WINDOW + 1));
goto epaint;
}
- if(!(hbmp = CreateCompatibleBitmap(hTempDC, ps.rcPaint.right, ps.rcPaint.bottom)))
+ if(!(hbmp = CreateCompatibleBitmap(ps.hdc, ps.rcPaint.right, ps.rcPaint.bottom)))
{
FillRect(ps.hdc, &rc, (HBRUSH)(COLOR_WINDOW + 1));
DeleteDC(hTempDC);
@@ -705,7 +751,7 @@
DeleteObject(hbmp);
DeleteDC(hTempDC);
- epaint:
+epaint:
EndPaint(hed->hWndSelf, &ps);
}
@@ -755,19 +801,75 @@
{
BOOL NewField;
POINT EditPos;
- DWORD Hit = HEXEDIT_HitRegionTest(hed, Pt);
+ DWORD Hit;
UNREFERENCED_PARAMETER(Buttons);
SetFocus(hed->hWndSelf);
- hed->Index = HEXEDIT_IndexFromPoint(hed, Pt, Hit, &EditPos, &NewField);
- hed->EditingField = NewField;
+ if (GetAsyncKeyState(VK_SHIFT) < 0)
+ {
+ if (hed->SelOnField)
+ hed->Index = HEXEDIT_IndexFromPoint(hed, Pt, HEHT_HEXDUMP, &EditPos,
&NewField);
+ else
+ hed->Index = HEXEDIT_IndexFromPoint(hed, Pt, HEHT_ASCIIDUMP, &EditPos,
&NewField);
+ hed->SelEnd = hed->Index;
+ hed->EditingField = hed->SelOnField;
+ }
+ else
+ {
+ Hit = HEXEDIT_HitRegionTest(hed, Pt);
+ hed->Index = HEXEDIT_IndexFromPoint(hed, Pt, Hit, &EditPos, &NewField);
+ hed->SelStart = hed->SelEnd = hed->Index;
+ hed->SelOnField = hed->EditingField = NewField;
+ SetCapture(hed->hWndSelf);
+ }
hed->CaretCol = EditPos.x;
hed->CaretLine = EditPos.y;
hed->InMid = FALSE;
-
+ InvalidateRect(hed->hWndSelf, NULL, FALSE);
HEXEDIT_MoveCaret(hed, TRUE);
+ return 0;
+}
+
+static LRESULT
+HEXEDIT_WM_LBUTTONUP(PHEXEDIT_DATA hed, INT Buttons, POINTS Pt)
+{
+ BOOL NewField;
+ POINT EditPos;
+ if (GetCapture() == hed->hWndSelf)
+ {
+ if (hed->SelOnField)
+ hed->Index = HEXEDIT_IndexFromPoint(hed, Pt, HEHT_HEXDUMP, &EditPos,
&NewField);
+ else
+ hed->Index = HEXEDIT_IndexFromPoint(hed, Pt, HEHT_ASCIIDUMP, &EditPos,
&NewField);
+ hed->CaretCol = EditPos.x;
+ hed->CaretLine = EditPos.y;
+ hed->SelEnd = hed->Index;
+ ReleaseCapture();
+ InvalidateRect(hed->hWndSelf, NULL, FALSE);
+ HEXEDIT_MoveCaret(hed, TRUE);
+ }
+ return 0;
+}
+
+static LRESULT
+HEXEDIT_WM_MOUSEMOVE(PHEXEDIT_DATA hed, INT Buttons, POINTS Pt)
+{
+ BOOL NewField;
+ POINT EditPos;
+ if (GetCapture() == hed->hWndSelf)
+ {
+ if (hed->SelOnField)
+ hed->Index = HEXEDIT_IndexFromPoint(hed, Pt, HEHT_HEXDUMP, &EditPos,
&NewField);
+ else
+ hed->Index = HEXEDIT_IndexFromPoint(hed, Pt, HEHT_ASCIIDUMP, &EditPos,
&NewField);
+ hed->CaretCol = EditPos.x;
+ hed->CaretLine = EditPos.y;
+ hed->SelEnd = hed->Index;
+ InvalidateRect(hed->hWndSelf, NULL, FALSE);
+ HEXEDIT_MoveCaret(hed, TRUE);
+ }
return 0;
}
@@ -776,6 +878,8 @@
{
size_t bufsize;
PBYTE buf;
+ INT i0, i1;
+
if(GetKeyState(VK_MENU) & 0x8000)
{
return FALSE;
@@ -783,133 +887,215 @@
bufsize = (hed->hBuffer ? LocalSize(hed->hBuffer) : 0);
+ if (hed->SelStart < hed->SelEnd)
+ {
+ i0 = hed->SelStart;
+ i1 = hed->SelEnd;
+ }
+ else
+ {
+ i0 = hed->SelEnd;
+ i1 = hed->SelStart;
+ }
+
switch(VkCode)
{
case VK_DELETE:
- if (hed->InMid && hed->EditingField)
+ if (hed->SelStart != hed->SelEnd)
{
buf = (PBYTE) LocalLock(hed->hBuffer);
if (buf)
{
- MoveMemory(buf + hed->Index, buf + hed->Index + 1,
- bufsize - hed->Index - 1);
+ MoveMemory(buf + i0, buf + i1, bufsize - i1);
LocalUnlock(hed->hBuffer);
+ }
+ HexEdit_SetMaxBufferSize(hed->hWndSelf, bufsize - (i1 - i0));
+ hed->InMid = FALSE;
+ hed->Index = hed->SelStart = hed->SelEnd = i0;
+ hed->CaretCol = hed->Index % hed->ColumnsPerLine;
+ hed->CaretLine = hed->Index / hed->ColumnsPerLine;
+ }
+ else
+ {
+ if (hed->InMid && hed->EditingField)
+ {
+ buf = (PBYTE) LocalLock(hed->hBuffer);
+ if (buf)
+ {
+ MoveMemory(buf + hed->Index, buf + hed->Index + 1,
+ bufsize - hed->Index - 1);
+ LocalUnlock(hed->hBuffer);
+ }
+ HexEdit_SetMaxBufferSize(hed->hWndSelf, bufsize - 1);
+ hed->InMid = FALSE;
+ }
+ else if (hed->Index < bufsize)
+ {
+ buf = (PBYTE) LocalLock(hed->hBuffer);
+ if (buf)
+ {
+ MoveMemory(buf + hed->Index, buf + hed->Index + 1,
+ bufsize - hed->Index - 1);
+ LocalUnlock(hed->hBuffer);
+ }
+ HexEdit_SetMaxBufferSize(hed->hWndSelf, bufsize - 1);
+ }
+ }
+ InvalidateRect(hed->hWndSelf, NULL, TRUE);
+ HEXEDIT_MoveCaret(hed, TRUE);
+ break;
+
+ case VK_BACK:
+ if (hed->SelStart != hed->SelEnd)
+ {
+ buf = (PBYTE) LocalLock(hed->hBuffer);
+ if (buf)
+ {
+ MoveMemory(buf + i0, buf + i1, bufsize - i1);
+ LocalUnlock(hed->hBuffer);
+ }
+ HexEdit_SetMaxBufferSize(hed->hWndSelf, bufsize - (i1 - i0));
+ hed->InMid = FALSE;
+ hed->Index = hed->SelStart = hed->SelEnd = i0;
+ hed->CaretCol = hed->Index % hed->ColumnsPerLine;
+ hed->CaretLine = hed->Index / hed->ColumnsPerLine;
+ }
+ else
+ {
+ if (hed->InMid && hed->EditingField)
+ {
+ buf = (PBYTE) LocalLock(hed->hBuffer);
+ if (buf)
+ {
+ MoveMemory(buf + hed->Index, buf + hed->Index + 1,
+ bufsize - hed->Index - 1);
+ LocalUnlock(hed->hBuffer);
+ }
+ }
+ else if (hed->Index > 0)
+ {
+ buf = (PBYTE) LocalLock(hed->hBuffer);
+ if (buf)
+ {
+ MoveMemory(buf + hed->Index - 1, buf + hed->Index,
+ bufsize - hed->Index);
+ LocalUnlock(hed->hBuffer);
+ }
+ hed->Index--;
+ hed->SelStart = hed->SelEnd = hed->Index;
+ hed->CaretCol = hed->Index % hed->ColumnsPerLine;
+ hed->CaretLine = hed->Index / hed->ColumnsPerLine;
}
HexEdit_SetMaxBufferSize(hed->hWndSelf, bufsize - 1);
hed->InMid = FALSE;
}
- else if (hed->Index < bufsize)
+ InvalidateRect(hed->hWndSelf, NULL, TRUE);
+ HEXEDIT_MoveCaret(hed, TRUE);
+ break;
+
+ case VK_LEFT:
+ if (hed->Index > 0)
+ {
+ hed->Index--;
+ if (GetAsyncKeyState(VK_SHIFT) < 0)
+ hed->SelEnd = hed->Index;
+ else
+ hed->SelStart = hed->SelEnd = hed->Index;
+ hed->CaretCol = hed->Index % hed->ColumnsPerLine;
+ hed->CaretLine = hed->Index / hed->ColumnsPerLine;
+ hed->InMid = FALSE;
+ InvalidateRect(hed->hWndSelf, NULL, TRUE);
+ HEXEDIT_MoveCaret(hed, TRUE);
+ }
+ break;
+
+ case VK_RIGHT:
+ if (hed->Index < (INT)bufsize)
+ {
+ hed->Index++;
+ if (GetAsyncKeyState(VK_SHIFT) < 0)
+ hed->SelEnd = hed->Index;
+ else
+ hed->SelStart = hed->SelEnd = hed->Index;
+ hed->CaretCol = hed->Index % hed->ColumnsPerLine;
+ hed->CaretLine = hed->Index / hed->ColumnsPerLine;
+ hed->InMid = FALSE;
+ InvalidateRect(hed->hWndSelf, NULL, TRUE);
+ HEXEDIT_MoveCaret(hed, TRUE);
+ }
+ break;
+
+ case VK_UP:
+ if (hed->Index >= hed->ColumnsPerLine)
+ {
+ hed->Index -= hed->ColumnsPerLine;
+ if (GetAsyncKeyState(VK_SHIFT) < 0)
+ hed->SelEnd = hed->Index;
+ else
+ hed->SelStart = hed->SelEnd = hed->Index;
+ hed->CaretCol = hed->Index % hed->ColumnsPerLine;
+ hed->CaretLine = hed->Index / hed->ColumnsPerLine;
+ hed->InMid = FALSE;
+ InvalidateRect(hed->hWndSelf, NULL, TRUE);
+ HEXEDIT_MoveCaret(hed, TRUE);
+ }
+ break;
+
+ case VK_DOWN:
+ if (hed->Index + hed->ColumnsPerLine <= (INT) bufsize)
+ hed->Index += hed->ColumnsPerLine;
+ else
+ hed->Index = bufsize;
+ hed->CaretCol = hed->Index % hed->ColumnsPerLine;
+ hed->CaretLine = hed->Index / hed->ColumnsPerLine;
+ if (GetAsyncKeyState(VK_SHIFT) < 0)
+ hed->SelEnd = hed->Index;
+ else
+ hed->SelStart = hed->SelEnd = hed->Index;
+ hed->InMid = FALSE;
+ InvalidateRect(hed->hWndSelf, NULL, TRUE);
+ HEXEDIT_MoveCaret(hed, TRUE);
+ break;
+ }
+
+ return FALSE;
+}
+
+static BOOL
+HEXEDIT_WM_CHAR(PHEXEDIT_DATA hed, WCHAR ch)
+{
+ size_t bufsize;
+ PBYTE buf;
+ INT i0, i1;
+
+ bufsize = (hed->hBuffer ? LocalSize(hed->hBuffer) : 0);
+ if (hed->SelStart < hed->SelEnd)
+ {
+ i0 = hed->SelStart;
+ i1 = hed->SelEnd;
+ }
+ else
+ {
+ i0 = hed->SelEnd;
+ i1 = hed->SelStart;
+ }
+ if (!hed->EditingField)
+ {
+ if (0x20 <= ch && ch <= 0xFF)
+ {
+ if (hed->SelStart != hed->SelEnd)
{
buf = (PBYTE) LocalLock(hed->hBuffer);
if (buf)
{
- MoveMemory(buf + hed->Index, buf + hed->Index + 1,
- bufsize - hed->Index - 1);
+ MoveMemory(buf + i0, buf + i1, bufsize - i1);
LocalUnlock(hed->hBuffer);
}
- HexEdit_SetMaxBufferSize(hed->hWndSelf, bufsize - 1);
- }
- InvalidateRect(hed->hWndSelf, NULL, TRUE);
- HEXEDIT_MoveCaret(hed, TRUE);
- break;
-
- case VK_BACK:
- if (hed->InMid && hed->EditingField)
- {
- buf = (PBYTE) LocalLock(hed->hBuffer);
- if (buf)
- {
- MoveMemory(buf + hed->Index, buf + hed->Index + 1,
- bufsize - hed->Index - 1);
- LocalUnlock(hed->hBuffer);
- }
- HexEdit_SetMaxBufferSize(hed->hWndSelf, bufsize - 1);
+ HexEdit_SetMaxBufferSize(hed->hWndSelf, bufsize - (i1 - i0));
hed->InMid = FALSE;
- }
- else if (hed->Index > 0)
- {
- buf = (PBYTE) LocalLock(hed->hBuffer);
- if (buf)
- {
- MoveMemory(buf + hed->Index - 1, buf + hed->Index,
- bufsize - hed->Index);
- LocalUnlock(hed->hBuffer);
- }
- HexEdit_SetMaxBufferSize(hed->hWndSelf, bufsize - 1);
- hed->Index--;
- hed->CaretCol = hed->Index % hed->ColumnsPerLine;
- hed->CaretLine = hed->Index / hed->ColumnsPerLine;
- hed->InMid = FALSE;
- }
- InvalidateRect(hed->hWndSelf, NULL, TRUE);
- HEXEDIT_MoveCaret(hed, TRUE);
- break;
-
- case VK_LEFT:
- if (hed->Index > 0)
- {
- hed->Index--;
- hed->CaretCol = hed->Index % hed->ColumnsPerLine;
- hed->CaretLine = hed->Index / hed->ColumnsPerLine;
- hed->InMid = FALSE;
- HEXEDIT_MoveCaret(hed, TRUE);
- }
- break;
-
- case VK_RIGHT:
- if (hed->Index < (INT)bufsize)
- {
- hed->Index++;
- hed->CaretCol = hed->Index % hed->ColumnsPerLine;
- hed->CaretLine = hed->Index / hed->ColumnsPerLine;
- hed->InMid = FALSE;
- HEXEDIT_MoveCaret(hed, TRUE);
- }
- break;
-
- case VK_UP:
- if (hed->Index >= hed->ColumnsPerLine)
- {
- hed->Index -= hed->ColumnsPerLine;
- hed->CaretCol = hed->Index % hed->ColumnsPerLine;
- hed->CaretLine = hed->Index / hed->ColumnsPerLine;
- hed->InMid = FALSE;
- HEXEDIT_MoveCaret(hed, TRUE);
- }
- break;
-
- case VK_DOWN:
- if (hed->Index + hed->ColumnsPerLine <= (INT) bufsize)
- {
- hed->Index += hed->ColumnsPerLine;
- hed->CaretCol = hed->Index % hed->ColumnsPerLine;
- hed->CaretLine = hed->Index / hed->ColumnsPerLine;
- }
- else
- {
- hed->Index = bufsize;
- hed->CaretCol = hed->Index % hed->ColumnsPerLine;
- hed->CaretLine = hed->Index / hed->ColumnsPerLine;
- }
- hed->InMid = FALSE;
- HEXEDIT_MoveCaret(hed, TRUE);
- break;
- }
-
- return FALSE;
-}
-
-static BOOL
-HEXEDIT_WM_CHAR(PHEXEDIT_DATA hed, WCHAR ch)
-{
- size_t bufsize;
- PBYTE buf;
-
- bufsize = (hed->hBuffer ? LocalSize(hed->hBuffer) : 0);
- if (!hed->EditingField)
- {
- if (0x20 <= ch && ch < 0x7F)
- {
+ bufsize = (hed->hBuffer ? LocalSize(hed->hBuffer) : 0);
+ hed->Index = hed->SelStart = hed->SelEnd = i0;
+ }
HexEdit_SetMaxBufferSize(hed->hWndSelf, bufsize + 1);
buf = (PBYTE) LocalLock(hed->hBuffer);
if (buf)
@@ -932,6 +1118,19 @@
if (('0' <= ch && ch <= '9') || ('A' <= ch
&& ch <= 'F') ||
('a' <= ch && ch <= 'f'))
{
+ if (hed->SelStart != hed->SelEnd)
+ {
+ buf = (PBYTE) LocalLock(hed->hBuffer);
+ if (buf)
+ {
+ MoveMemory(buf + i0, buf + i1, bufsize - i1);
+ LocalUnlock(hed->hBuffer);
+ }
+ HexEdit_SetMaxBufferSize(hed->hWndSelf, bufsize - (i1 - i0));
+ hed->InMid = FALSE;
+ bufsize = (hed->hBuffer ? LocalSize(hed->hBuffer) : 0);
+ hed->Index = hed->SelStart = hed->SelEnd = i0;
+ }
if (hed->InMid)
{
buf = (PBYTE) LocalLock(hed->hBuffer);
@@ -947,10 +1146,6 @@
}
hed->InMid = FALSE;
hed->Index++;
- hed->CaretCol = hed->Index % hed->ColumnsPerLine;
- hed->CaretLine = hed->Index / hed->ColumnsPerLine;
- InvalidateRect(hed->hWndSelf, NULL, TRUE);
- HEXEDIT_MoveCaret(hed, TRUE);
}
else
{
@@ -969,11 +1164,11 @@
LocalUnlock(hed->hBuffer);
}
hed->InMid = TRUE;
- hed->CaretCol = hed->Index % hed->ColumnsPerLine;
- hed->CaretLine = hed->Index / hed->ColumnsPerLine;
- InvalidateRect(hed->hWndSelf, NULL, TRUE);
- HEXEDIT_MoveCaret(hed, TRUE);
- }
+ }
+ hed->CaretCol = hed->Index % hed->ColumnsPerLine;
+ hed->CaretLine = hed->Index / hed->ColumnsPerLine;
+ InvalidateRect(hed->hWndSelf, NULL, TRUE);
+ HEXEDIT_MoveCaret(hed, TRUE);
return FALSE;
}
}
@@ -1024,6 +1219,20 @@
return HEXEDIT_WM_LBUTTONDOWN(hed, (INT)wParam, p);
}
+ case WM_LBUTTONUP:
+ {
+ p.x = LOWORD(lParam);
+ p.y = HIWORD(lParam);
+ return HEXEDIT_WM_LBUTTONUP(hed, (INT)wParam, p);
+ }
+
+ case WM_MOUSEMOVE:
+ {
+ p.x = LOWORD(lParam);
+ p.y = HIWORD(lParam);
+ return HEXEDIT_WM_MOUSEMOVE(hed, (INT)wParam, p);
+ }
+
case WM_MOUSEWHEEL:
{
UINT nScrollLines = 3;
@@ -1080,8 +1289,16 @@
return HEXEDIT_WM_NCDESTROY(hed);
}
break;
- }
-
- return CallWindowProc(DefWindowProc, hWnd, uMsg, wParam, lParam);
-}
-
+
+ case WM_CONTEXTMENU:
+ /* FIXME: Implement Cut, Copy, Paste, Delete and Select All */
+ break;
+
+ case WM_COMMAND:
+ /* FIXME: Implement Cut, Copy, Paste, Delete and Select All */
+ break;
+ }
+
+ return DefWindowProc(hWnd, uMsg, wParam, lParam);
+}
+
Modified: branches/reactos-yarotows/config.template.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/config.templat…
==============================================================================
--- branches/reactos-yarotows/config.template.rbuild [iso-8859-1] (original)
+++ branches/reactos-yarotows/config.template.rbuild [iso-8859-1] Thu Jul 15 20:49:51
2010
@@ -49,7 +49,7 @@
4 = -O2
5 = -O3
-->
-<property name="OPTIMIZE" value="1" />
+<property name="OPTIMIZE" value="0" />
<!--
Modified: branches/reactos-yarotows/dll/3rdparty/libtiff/libtiff.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/3rdparty/l…
==============================================================================
--- branches/reactos-yarotows/dll/3rdparty/libtiff/libtiff.rbuild [iso-8859-1] (original)
+++ branches/reactos-yarotows/dll/3rdparty/libtiff/libtiff.rbuild [iso-8859-1] Thu Jul 15
20:49:51 2010
@@ -3,8 +3,9 @@
<module name="libtiff" type="win32dll" entrypoint="0"
installbase="system32" installname="libtiff.dll"
allowwarnings="true" crt="msvcrt">
<define name="WIN32" />
<define name="NDEBUG" />
- <define name="_WINDOWS" />
- <define name="_USRDLL" />
+ <define name="BUILD_LIBTIFF_DLL" />
+ <define name="DLL_EXPORT" />
+ <define name="USE_WIN32_FILEIO" />
<include base="libtiff">.</include>
<include base="ReactOS">include/reactos/libs/zlib</include>
<include base="ReactOS">include/reactos/libs/libtiff</include>
Modified: branches/reactos-yarotows/dll/3rdparty/libtiff/tif_open.c
URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/3rdparty/l…
==============================================================================
--- branches/reactos-yarotows/dll/3rdparty/libtiff/tif_open.c [iso-8859-1] (original)
+++ branches/reactos-yarotows/dll/3rdparty/libtiff/tif_open.c [iso-8859-1] Thu Jul 15
20:49:51 2010
@@ -516,6 +516,9 @@
TIFFSetClientdata(TIFF* tif, thandle_t newvalue)
{
thandle_t m = tif->tif_clientdata;
+#ifdef USE_WIN32_FILEIO
+ newvalue = (thandle_t) _get_osfhandle(newvalue);
+#endif /* USE_WIN32_FILEIO */
tif->tif_clientdata = newvalue;
return m;
}
Modified: branches/reactos-yarotows/dll/win32/setupapi/setupcab.c
URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/setu…
==============================================================================
--- branches/reactos-yarotows/dll/win32/setupapi/setupcab.c [iso-8859-1] (original)
+++ branches/reactos-yarotows/dll/win32/setupapi/setupcab.c [iso-8859-1] Thu Jul 15
20:49:51 2010
@@ -518,7 +518,7 @@
SC_HSC_A my_hsc;
ERF erf;
- CHAR pszCabinet[MAX_PATH], pszCabPath[MAX_PATH], *p;
+ CHAR pszCabinet[MAX_PATH], pszCabPath[MAX_PATH], *p = NULL;
DWORD fpnsize;
BOOL ret;
@@ -528,6 +528,12 @@
if (! LoadCABINETDll())
return FALSE;
+
+ if (!CabinetFile)
+ {
+ SetLastError(ERROR_INVALID_PARAMETER);
+ return FALSE;
+ }
memset(&my_hsc, 0, sizeof(SC_HSC_A));
pszCabinet[0] = '\0';
@@ -584,7 +590,7 @@
UINT len;
SC_HSC_W my_hsc;
ERF erf;
- WCHAR pszCabPathW[MAX_PATH], *p;
+ WCHAR pszCabPathW[MAX_PATH], *p = NULL;
DWORD fpnsize;
BOOL ret;
@@ -594,7 +600,11 @@
if (!LoadCABINETDll())
return FALSE;
- if (!CabinetFile) return FALSE;
+ if (!CabinetFile)
+ {
+ SetLastError(ERROR_INVALID_PARAMETER);
+ return FALSE;
+ }
memset(&my_hsc, 0, sizeof(SC_HSC_W));
Modified: branches/reactos-yarotows/dll/win32/user32/windows/cursoricon.c
URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/user…
==============================================================================
--- branches/reactos-yarotows/dll/win32/user32/windows/cursoricon.c [iso-8859-1]
(original)
+++ branches/reactos-yarotows/dll/win32/user32/windows/cursoricon.c [iso-8859-1] Thu Jul
15 20:49:51 2010
@@ -485,8 +485,8 @@
else
{
if (!(*mask = CreateBitmap( width, height, 1, 1, NULL ))) goto done;
- if (!(*color = CreateBitmap( width, height, GetDeviceCaps( screen_dc, PLANES ),
- GetDeviceCaps( screen_dc, BITSPIXEL ), NULL )))
+ if (!(*color = CreateBitmap( width, height, bmi->bmiHeader.biPlanes,
+ bmi->bmiHeader.biBitCount, NULL )))
{
DeleteObject( *mask );
goto done;
@@ -1475,10 +1475,29 @@
height = bmpXor.bmHeight;
if (bmpXor.bmPlanes * bmpXor.bmBitsPixel != 1)
{
- color = CreateCompatibleBitmap( screen_dc, width, height );
+ color = CreateBitmap( width, height, bmpXor.bmPlanes, bmpXor.bmBitsPixel,
NULL );
+ if(!color)
+ {
+ ERR("Unable to create color bitmap!\n");
+ return NULL;
+ }
mask = CreateBitmap( width, height, 1, 1, NULL );
- }
- else mask = CreateBitmap( width, height * 2, 1, 1, NULL );
+ if(!mask)
+ {
+ ERR("Unable to create mask bitmap!\n");
+ DeleteObject(color);
+ return NULL;
+ }
+ }
+ else
+ {
+ mask = CreateBitmap( width, height * 2, 1, 1, NULL );
+ if(!mask)
+ {
+ ERR("Unable to create mask bitmap!\n");
+ return NULL;
+ }
+ }
}
else
{
Modified: branches/reactos-yarotows/include/psdk/shellapi.h
URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/include/psdk/s…
==============================================================================
--- branches/reactos-yarotows/include/psdk/shellapi.h [iso-8859-1] (original)
+++ branches/reactos-yarotows/include/psdk/shellapi.h [iso-8859-1] Thu Jul 15 20:49:51
2010
@@ -8,6 +8,11 @@
#pragma warning(push)
#pragma warning(disable:4201)
#endif
+
+#if !defined(_WIN64)
+#include <pshpack1.h>
+#endif
+
#define WINSHELLAPI DECLSPEC_IMPORT
#define ABE_LEFT 0
#define ABE_TOP 1
@@ -160,7 +165,7 @@
typedef WORD FILEOP_FLAGS;
typedef WORD PRINTEROP_FLAGS;
-#include <pshpack1.h>
+
typedef struct _AppBarData {
DWORD cbSize;
HWND hWnd;
@@ -330,7 +335,6 @@
int cchOldPath;
int cchNewPath;
} SHNAMEMAPPINGW, *LPSHNAMEMAPPINGW;
-#include <poppack.h>
#define SHERB_NOCONFIRMATION 0x1
#define SHERB_NOPROGRESSUI 0x2
@@ -440,6 +444,11 @@
#define SHEmptyRecycleBin SHEmptyRecycleBinA
#define SHGetNewLinkInfo SHGetNewLinkInfoA
#endif
+
+#if !defined(_WIN64)
+#include <poppack.h>
+#endif
+
#ifdef _MSC_VER
#pragma warning(pop)
#endif
Modified: branches/reactos-yarotows/include/psdk/wingdi.h
URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/include/psdk/w…
==============================================================================
--- branches/reactos-yarotows/include/psdk/wingdi.h [iso-8859-1] (original)
+++ branches/reactos-yarotows/include/psdk/wingdi.h [iso-8859-1] Thu Jul 15 20:49:51 2010
@@ -1715,7 +1715,7 @@
typedef struct tagEMRCREATEBRUSHINDIRECT {
EMR emr;
DWORD ihBrush;
- LOGBRUSH lb;
+ LOGBRUSH32 lb;
} EMRCREATEBRUSHINDIRECT,*PEMRCREATEBRUSHINDIRECT;
typedef LONG LCSCSTYPE;
typedef LONG LCSGAMUTMATCH;
@@ -1897,11 +1897,11 @@
EXTLOGFONTW elfw;
} EMREXTCREATEFONTINDIRECTW,*PEMREXTCREATEFONTINDIRECTW;
typedef struct tagEXTLOGPEN {
- UINT elpPenStyle;
- UINT elpWidth;
+ DWORD elpPenStyle;
+ DWORD elpWidth;
UINT elpBrushStyle;
COLORREF elpColor;
- LONG elpHatch;
+ ULONG_PTR elpHatch;
DWORD elpNumEntries;
DWORD elpStyleEntry[1];
} EXTLOGPEN,*PEXTLOGPEN,*LPEXTLOGPEN,*NPEXTLOGPEN;
Modified: branches/reactos-yarotows/include/psdk/ws2ipdef.h
URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/include/psdk/w…
==============================================================================
--- branches/reactos-yarotows/include/psdk/ws2ipdef.h [iso-8859-1] (original)
+++ branches/reactos-yarotows/include/psdk/ws2ipdef.h [iso-8859-1] Thu Jul 15 20:49:51
2010
@@ -13,7 +13,7 @@
#ifdef _MSC_VER
#define WS2TCPIP_INLINE __inline
#else
-#define WS2TCPIP_INLINE extern inline
+#define WS2TCPIP_INLINE static inline
#endif
#include <in6addr.h>
Modified: branches/reactos-yarotows/include/psdk/ws2tcpip.h
URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/include/psdk/w…
==============================================================================
--- branches/reactos-yarotows/include/psdk/ws2tcpip.h [iso-8859-1] (original)
+++ branches/reactos-yarotows/include/psdk/ws2tcpip.h [iso-8859-1] Thu Jul 15 20:49:51
2010
@@ -24,7 +24,7 @@
#ifdef _MSC_VER
#define WS2TCPIP_INLINE __inline
#else
-#define WS2TCPIP_INLINE extern inline
+#define WS2TCPIP_INLINE static inline
#endif
/* getaddrinfo error codes */
Modified: branches/reactos-yarotows/include/reactos/libs/libtiff/tiffio.h
URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/include/reacto…
==============================================================================
--- branches/reactos-yarotows/include/reactos/libs/libtiff/tiffio.h [iso-8859-1]
(original)
+++ branches/reactos-yarotows/include/reactos/libs/libtiff/tiffio.h [iso-8859-1] Thu Jul
15 20:49:51 2010
@@ -27,6 +27,30 @@
#ifndef _TIFFIO_
#define _TIFFIO_
+#ifndef __GNUC__
+# define __DLL_IMPORT__ __declspec(dllimport)
+# define __DLL_EXPORT__ __declspec(dllexport)
+#else
+# define __DLL_IMPORT__ __attribute__((dllimport)) extern
+# define __DLL_EXPORT__ __attribute__((dllexport)) extern
+#endif
+
+#if (defined __WIN32__) || (defined _WIN32)
+# ifdef BUILD_LIBTIFF_DLL
+# define LIBTIFF_DLL_IMPEXP __DLL_EXPORT__
+# elif defined(LIBTIFF_STATIC)
+# define LIBTIFF_DLL_IMPEXP
+# elif defined (USE_LIBTIFF_DLL)
+# define LIBTIFF_DLL_IMPEXP __DLL_IMPORT__
+# elif defined (USE_LIBTIFF_STATIC)
+# define LIBTIFF_DLL_IMPEXP
+# else /* assume USE_LIBTIFF_DLL */
+# define LIBTIFF_DLL_IMPEXP __DLL_IMPORT__
+# endif
+#else /* __WIN32__ */
+# define LIBTIFF_DLL_IMPEXP
+#endif
+
/*
* TIFF I/O Library Definitions.
*/
@@ -80,10 +104,20 @@
*/
#if defined(_WINDOWS) || defined(__WIN32__) || defined(_Windows)
+# define BINMODE "b"
# if !defined(__CYGWIN) && !defined(AVOID_WIN32_FILEIO) &&
!defined(USE_WIN32_FILEIO)
# define AVOID_WIN32_FILEIO
# endif
-#endif
+# include <fcntl.h>
+# include <io.h>
+# ifdef SET_BINARY
+# undef SET_BINARY
+# endif /* SET_BINARY */
+# define SET_BINARY(f) do {if (!_isatty(f)) _setmode(f,_O_BINARY);} while (0)
+#else /* Windows */
+# define BINMODE
+# define SET_BINARY(f) (void)0
+#endif /* Windows */
#if defined(USE_WIN32_FILEIO)
# define VC_EXTRALEAN
@@ -268,30 +302,30 @@
typedef void (*TIFFUnmapFileProc)(thandle_t, tdata_t, toff_t);
typedef void (*TIFFExtendProc)(TIFF*);
-extern const char* TIFFGetVersion(void);
-
-extern const TIFFCodec* TIFFFindCODEC(uint16);
-extern TIFFCodec* TIFFRegisterCODEC(uint16, const char*, TIFFInitMethod);
-extern void TIFFUnRegisterCODEC(TIFFCodec*);
-extern int TIFFIsCODECConfigured(uint16);
-extern TIFFCodec* TIFFGetConfiguredCODECs(void);
+LIBTIFF_DLL_IMPEXP const char* TIFFGetVersion(void);
+
+LIBTIFF_DLL_IMPEXP const TIFFCodec* TIFFFindCODEC(uint16);
+LIBTIFF_DLL_IMPEXP TIFFCodec* TIFFRegisterCODEC(uint16, const char*, TIFFInitMethod);
+LIBTIFF_DLL_IMPEXP void TIFFUnRegisterCODEC(TIFFCodec*);
+LIBTIFF_DLL_IMPEXP int TIFFIsCODECConfigured(uint16);
+LIBTIFF_DLL_IMPEXP TIFFCodec* TIFFGetConfiguredCODECs(void);
/*
* Auxiliary functions.
*/
-extern tdata_t _TIFFmalloc(tsize_t);
-extern tdata_t _TIFFrealloc(tdata_t, tsize_t);
-extern void _TIFFmemset(tdata_t, int, tsize_t);
-extern void _TIFFmemcpy(tdata_t, const tdata_t, tsize_t);
-extern int _TIFFmemcmp(const tdata_t, const tdata_t, tsize_t);
-extern void _TIFFfree(tdata_t);
+LIBTIFF_DLL_IMPEXP tdata_t _TIFFmalloc(tsize_t);
+LIBTIFF_DLL_IMPEXP tdata_t _TIFFrealloc(tdata_t, tsize_t);
+LIBTIFF_DLL_IMPEXP void _TIFFmemset(tdata_t, int, tsize_t);
+LIBTIFF_DLL_IMPEXP void _TIFFmemcpy(tdata_t, const tdata_t, tsize_t);
+LIBTIFF_DLL_IMPEXP int _TIFFmemcmp(const tdata_t, const tdata_t, tsize_t);
+LIBTIFF_DLL_IMPEXP void _TIFFfree(tdata_t);
/*
** Stuff, related to tag handling and creating custom tags.
*/
-extern int TIFFGetTagListCount( TIFF * );
-extern ttag_t TIFFGetTagListEntry( TIFF *, int tag_index );
+LIBTIFF_DLL_IMPEXP int TIFFGetTagListCount( TIFF * );
+LIBTIFF_DLL_IMPEXP ttag_t TIFFGetTagListEntry( TIFF *, int tag_index );
#define TIFF_ANY TIFF_NOTYPE /* for field descriptor searching */
#define TIFF_VARIABLE -1 /* marker for variable length tags */
@@ -317,12 +351,12 @@
void *value;
} TIFFTagValue;
-extern void TIFFMergeFieldInfo(TIFF*, const TIFFFieldInfo[], int);
-extern const TIFFFieldInfo* TIFFFindFieldInfo(TIFF*, ttag_t, TIFFDataType);
-extern const TIFFFieldInfo* TIFFFindFieldInfoByName(TIFF* , const char *,
+LIBTIFF_DLL_IMPEXP void TIFFMergeFieldInfo(TIFF*, const TIFFFieldInfo[], int);
+LIBTIFF_DLL_IMPEXP const TIFFFieldInfo* TIFFFindFieldInfo(TIFF*, ttag_t, TIFFDataType);
+LIBTIFF_DLL_IMPEXP const TIFFFieldInfo* TIFFFindFieldInfoByName(TIFF* , const char *,
TIFFDataType);
-extern const TIFFFieldInfo* TIFFFieldWithTag(TIFF*, ttag_t);
-extern const TIFFFieldInfo* TIFFFieldWithName(TIFF*, const char *);
+LIBTIFF_DLL_IMPEXP const TIFFFieldInfo* TIFFFieldWithTag(TIFF*, ttag_t);
+LIBTIFF_DLL_IMPEXP const TIFFFieldInfo* TIFFFieldWithName(TIFF*, const char *);
typedef int (*TIFFVSetMethod)(TIFF*, ttag_t, va_list);
typedef int (*TIFFVGetMethod)(TIFF*, ttag_t, va_list);
@@ -334,180 +368,180 @@
TIFFPrintMethod printdir; /* directory print routine */
} TIFFTagMethods;
-extern TIFFTagMethods *TIFFAccessTagMethods( TIFF * );
-extern void *TIFFGetClientInfo( TIFF *, const char * );
-extern void TIFFSetClientInfo( TIFF *, void *, const char * );
-
-extern void TIFFCleanup(TIFF*);
-extern void TIFFClose(TIFF*);
-extern int TIFFFlush(TIFF*);
-extern int TIFFFlushData(TIFF*);
-extern int TIFFGetField(TIFF*, ttag_t, ...);
-extern int TIFFVGetField(TIFF*, ttag_t, va_list);
-extern int TIFFGetFieldDefaulted(TIFF*, ttag_t, ...);
-extern int TIFFVGetFieldDefaulted(TIFF*, ttag_t, va_list);
-extern int TIFFReadDirectory(TIFF*);
-extern int TIFFReadCustomDirectory(TIFF*, toff_t, const TIFFFieldInfo[],
+LIBTIFF_DLL_IMPEXP TIFFTagMethods *TIFFAccessTagMethods( TIFF * );
+LIBTIFF_DLL_IMPEXP void *TIFFGetClientInfo( TIFF *, const char * );
+LIBTIFF_DLL_IMPEXP void TIFFSetClientInfo( TIFF *, void *, const char * );
+
+LIBTIFF_DLL_IMPEXP void TIFFCleanup(TIFF*);
+LIBTIFF_DLL_IMPEXP void TIFFClose(TIFF*);
+LIBTIFF_DLL_IMPEXP int TIFFFlush(TIFF*);
+LIBTIFF_DLL_IMPEXP int TIFFFlushData(TIFF*);
+LIBTIFF_DLL_IMPEXP int TIFFGetField(TIFF*, ttag_t, ...);
+LIBTIFF_DLL_IMPEXP int TIFFVGetField(TIFF*, ttag_t, va_list);
+LIBTIFF_DLL_IMPEXP int TIFFGetFieldDefaulted(TIFF*, ttag_t, ...);
+LIBTIFF_DLL_IMPEXP int TIFFVGetFieldDefaulted(TIFF*, ttag_t, va_list);
+LIBTIFF_DLL_IMPEXP int TIFFReadDirectory(TIFF*);
+LIBTIFF_DLL_IMPEXP int TIFFReadCustomDirectory(TIFF*, toff_t, const TIFFFieldInfo[],
size_t);
-extern int TIFFReadEXIFDirectory(TIFF*, toff_t);
-extern tsize_t TIFFScanlineSize(TIFF*);
-extern tsize_t TIFFOldScanlineSize(TIFF*);
-extern tsize_t TIFFNewScanlineSize(TIFF*);
-extern tsize_t TIFFRasterScanlineSize(TIFF*);
-extern tsize_t TIFFStripSize(TIFF*);
-extern tsize_t TIFFRawStripSize(TIFF*, tstrip_t);
-extern tsize_t TIFFVStripSize(TIFF*, uint32);
-extern tsize_t TIFFTileRowSize(TIFF*);
-extern tsize_t TIFFTileSize(TIFF*);
-extern tsize_t TIFFVTileSize(TIFF*, uint32);
-extern uint32 TIFFDefaultStripSize(TIFF*, uint32);
-extern void TIFFDefaultTileSize(TIFF*, uint32*, uint32*);
-extern int TIFFFileno(TIFF*);
-extern int TIFFSetFileno(TIFF*, int);
-extern thandle_t TIFFClientdata(TIFF*);
-extern thandle_t TIFFSetClientdata(TIFF*, thandle_t);
-extern int TIFFGetMode(TIFF*);
-extern int TIFFSetMode(TIFF*, int);
-extern int TIFFIsTiled(TIFF*);
-extern int TIFFIsByteSwapped(TIFF*);
-extern int TIFFIsUpSampled(TIFF*);
-extern int TIFFIsMSB2LSB(TIFF*);
-extern int TIFFIsBigEndian(TIFF*);
-extern TIFFReadWriteProc TIFFGetReadProc(TIFF*);
-extern TIFFReadWriteProc TIFFGetWriteProc(TIFF*);
-extern TIFFSeekProc TIFFGetSeekProc(TIFF*);
-extern TIFFCloseProc TIFFGetCloseProc(TIFF*);
-extern TIFFSizeProc TIFFGetSizeProc(TIFF*);
-extern TIFFMapFileProc TIFFGetMapFileProc(TIFF*);
-extern TIFFUnmapFileProc TIFFGetUnmapFileProc(TIFF*);
-extern uint32 TIFFCurrentRow(TIFF*);
-extern tdir_t TIFFCurrentDirectory(TIFF*);
-extern tdir_t TIFFNumberOfDirectories(TIFF*);
-extern uint32 TIFFCurrentDirOffset(TIFF*);
-extern tstrip_t TIFFCurrentStrip(TIFF*);
-extern ttile_t TIFFCurrentTile(TIFF*);
-extern int TIFFReadBufferSetup(TIFF*, tdata_t, tsize_t);
-extern int TIFFWriteBufferSetup(TIFF*, tdata_t, tsize_t);
-extern int TIFFSetupStrips(TIFF *);
-extern int TIFFWriteCheck(TIFF*, int, const char *);
-extern void TIFFFreeDirectory(TIFF*);
-extern int TIFFCreateDirectory(TIFF*);
-extern int TIFFLastDirectory(TIFF*);
-extern int TIFFSetDirectory(TIFF*, tdir_t);
-extern int TIFFSetSubDirectory(TIFF*, uint32);
-extern int TIFFUnlinkDirectory(TIFF*, tdir_t);
-extern int TIFFSetField(TIFF*, ttag_t, ...);
-extern int TIFFVSetField(TIFF*, ttag_t, va_list);
-extern int TIFFWriteDirectory(TIFF *);
-extern int TIFFCheckpointDirectory(TIFF *);
-extern int TIFFRewriteDirectory(TIFF *);
-extern int TIFFReassignTagToIgnore(enum TIFFIgnoreSense, int);
+LIBTIFF_DLL_IMPEXP int TIFFReadEXIFDirectory(TIFF*, toff_t);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFScanlineSize(TIFF*);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFOldScanlineSize(TIFF*);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFNewScanlineSize(TIFF*);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFRasterScanlineSize(TIFF*);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFStripSize(TIFF*);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFRawStripSize(TIFF*, tstrip_t);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFVStripSize(TIFF*, uint32);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFTileRowSize(TIFF*);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFTileSize(TIFF*);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFVTileSize(TIFF*, uint32);
+LIBTIFF_DLL_IMPEXP uint32 TIFFDefaultStripSize(TIFF*, uint32);
+LIBTIFF_DLL_IMPEXP void TIFFDefaultTileSize(TIFF*, uint32*, uint32*);
+LIBTIFF_DLL_IMPEXP int TIFFFileno(TIFF*);
+LIBTIFF_DLL_IMPEXP int TIFFSetFileno(TIFF*, int);
+LIBTIFF_DLL_IMPEXP thandle_t TIFFClientdata(TIFF*);
+LIBTIFF_DLL_IMPEXP thandle_t TIFFSetClientdata(TIFF*, thandle_t);
+LIBTIFF_DLL_IMPEXP int TIFFGetMode(TIFF*);
+LIBTIFF_DLL_IMPEXP int TIFFSetMode(TIFF*, int);
+LIBTIFF_DLL_IMPEXP int TIFFIsTiled(TIFF*);
+LIBTIFF_DLL_IMPEXP int TIFFIsByteSwapped(TIFF*);
+LIBTIFF_DLL_IMPEXP int TIFFIsUpSampled(TIFF*);
+LIBTIFF_DLL_IMPEXP int TIFFIsMSB2LSB(TIFF*);
+LIBTIFF_DLL_IMPEXP int TIFFIsBigEndian(TIFF*);
+LIBTIFF_DLL_IMPEXP TIFFReadWriteProc TIFFGetReadProc(TIFF*);
+LIBTIFF_DLL_IMPEXP TIFFReadWriteProc TIFFGetWriteProc(TIFF*);
+LIBTIFF_DLL_IMPEXP TIFFSeekProc TIFFGetSeekProc(TIFF*);
+LIBTIFF_DLL_IMPEXP TIFFCloseProc TIFFGetCloseProc(TIFF*);
+LIBTIFF_DLL_IMPEXP TIFFSizeProc TIFFGetSizeProc(TIFF*);
+LIBTIFF_DLL_IMPEXP TIFFMapFileProc TIFFGetMapFileProc(TIFF*);
+LIBTIFF_DLL_IMPEXP TIFFUnmapFileProc TIFFGetUnmapFileProc(TIFF*);
+LIBTIFF_DLL_IMPEXP uint32 TIFFCurrentRow(TIFF*);
+LIBTIFF_DLL_IMPEXP tdir_t TIFFCurrentDirectory(TIFF*);
+LIBTIFF_DLL_IMPEXP tdir_t TIFFNumberOfDirectories(TIFF*);
+LIBTIFF_DLL_IMPEXP uint32 TIFFCurrentDirOffset(TIFF*);
+LIBTIFF_DLL_IMPEXP tstrip_t TIFFCurrentStrip(TIFF*);
+LIBTIFF_DLL_IMPEXP ttile_t TIFFCurrentTile(TIFF*);
+LIBTIFF_DLL_IMPEXP int TIFFReadBufferSetup(TIFF*, tdata_t, tsize_t);
+LIBTIFF_DLL_IMPEXP int TIFFWriteBufferSetup(TIFF*, tdata_t, tsize_t);
+LIBTIFF_DLL_IMPEXP int TIFFSetupStrips(TIFF *);
+LIBTIFF_DLL_IMPEXP int TIFFWriteCheck(TIFF*, int, const char *);
+LIBTIFF_DLL_IMPEXP void TIFFFreeDirectory(TIFF*);
+LIBTIFF_DLL_IMPEXP int TIFFCreateDirectory(TIFF*);
+LIBTIFF_DLL_IMPEXP int TIFFLastDirectory(TIFF*);
+LIBTIFF_DLL_IMPEXP int TIFFSetDirectory(TIFF*, tdir_t);
+LIBTIFF_DLL_IMPEXP int TIFFSetSubDirectory(TIFF*, uint32);
+LIBTIFF_DLL_IMPEXP int TIFFUnlinkDirectory(TIFF*, tdir_t);
+LIBTIFF_DLL_IMPEXP int TIFFSetField(TIFF*, ttag_t, ...);
+LIBTIFF_DLL_IMPEXP int TIFFVSetField(TIFF*, ttag_t, va_list);
+LIBTIFF_DLL_IMPEXP int TIFFWriteDirectory(TIFF *);
+LIBTIFF_DLL_IMPEXP int TIFFCheckpointDirectory(TIFF *);
+LIBTIFF_DLL_IMPEXP int TIFFRewriteDirectory(TIFF *);
+LIBTIFF_DLL_IMPEXP int TIFFReassignTagToIgnore(enum TIFFIgnoreSense, int);
#if defined(c_plusplus) || defined(__cplusplus)
-extern void TIFFPrintDirectory(TIFF*, FILE*, long = 0);
-extern int TIFFReadScanline(TIFF*, tdata_t, uint32, tsample_t = 0);
-extern int TIFFWriteScanline(TIFF*, tdata_t, uint32, tsample_t = 0);
-extern int TIFFReadRGBAImage(TIFF*, uint32, uint32, uint32*, int = 0);
-extern int TIFFReadRGBAImageOriented(TIFF*, uint32, uint32, uint32*,
+LIBTIFF_DLL_IMPEXP void TIFFPrintDirectory(TIFF*, FILE*, long = 0);
+LIBTIFF_DLL_IMPEXP int TIFFReadScanline(TIFF*, tdata_t, uint32, tsample_t = 0);
+LIBTIFF_DLL_IMPEXP int TIFFWriteScanline(TIFF*, tdata_t, uint32, tsample_t = 0);
+LIBTIFF_DLL_IMPEXP int TIFFReadRGBAImage(TIFF*, uint32, uint32, uint32*, int = 0);
+LIBTIFF_DLL_IMPEXP int TIFFReadRGBAImageOriented(TIFF*, uint32, uint32, uint32*,
int = ORIENTATION_BOTLEFT, int = 0);
#else
-extern void TIFFPrintDirectory(TIFF*, FILE*, long);
-extern int TIFFReadScanline(TIFF*, tdata_t, uint32, tsample_t);
-extern int TIFFWriteScanline(TIFF*, tdata_t, uint32, tsample_t);
-extern int TIFFReadRGBAImage(TIFF*, uint32, uint32, uint32*, int);
-extern int TIFFReadRGBAImageOriented(TIFF*, uint32, uint32, uint32*, int, int);
-#endif
-
-extern int TIFFReadRGBAStrip(TIFF*, tstrip_t, uint32 * );
-extern int TIFFReadRGBATile(TIFF*, uint32, uint32, uint32 * );
-extern int TIFFRGBAImageOK(TIFF*, char [1024]);
-extern int TIFFRGBAImageBegin(TIFFRGBAImage*, TIFF*, int, char [1024]);
-extern int TIFFRGBAImageGet(TIFFRGBAImage*, uint32*, uint32, uint32);
-extern void TIFFRGBAImageEnd(TIFFRGBAImage*);
-extern TIFF* TIFFOpen(const char*, const char*);
+LIBTIFF_DLL_IMPEXP void TIFFPrintDirectory(TIFF*, FILE*, long);
+LIBTIFF_DLL_IMPEXP int TIFFReadScanline(TIFF*, tdata_t, uint32, tsample_t);
+LIBTIFF_DLL_IMPEXP int TIFFWriteScanline(TIFF*, tdata_t, uint32, tsample_t);
+LIBTIFF_DLL_IMPEXP int TIFFReadRGBAImage(TIFF*, uint32, uint32, uint32*, int);
+LIBTIFF_DLL_IMPEXP int TIFFReadRGBAImageOriented(TIFF*, uint32, uint32, uint32*, int,
int);
+#endif
+
+LIBTIFF_DLL_IMPEXP int TIFFReadRGBAStrip(TIFF*, tstrip_t, uint32 * );
+LIBTIFF_DLL_IMPEXP int TIFFReadRGBATile(TIFF*, uint32, uint32, uint32 * );
+LIBTIFF_DLL_IMPEXP int TIFFRGBAImageOK(TIFF*, char [1024]);
+LIBTIFF_DLL_IMPEXP int TIFFRGBAImageBegin(TIFFRGBAImage*, TIFF*, int, char [1024]);
+LIBTIFF_DLL_IMPEXP int TIFFRGBAImageGet(TIFFRGBAImage*, uint32*, uint32, uint32);
+LIBTIFF_DLL_IMPEXP void TIFFRGBAImageEnd(TIFFRGBAImage*);
+LIBTIFF_DLL_IMPEXP TIFF* TIFFOpen(const char*, const char*);
# ifdef __WIN32__
-extern TIFF* TIFFOpenW(const wchar_t*, const char*);
+LIBTIFF_DLL_IMPEXP TIFF* TIFFOpenW(const wchar_t*, const char*);
# endif /* __WIN32__ */
-extern TIFF* TIFFFdOpen(int, const char*, const char*);
-extern TIFF* TIFFClientOpen(const char*, const char*,
+LIBTIFF_DLL_IMPEXP TIFF* TIFFFdOpen(int, const char*, const char*);
+LIBTIFF_DLL_IMPEXP TIFF* TIFFClientOpen(const char*, const char*,
thandle_t,
TIFFReadWriteProc, TIFFReadWriteProc,
TIFFSeekProc, TIFFCloseProc,
TIFFSizeProc,
TIFFMapFileProc, TIFFUnmapFileProc);
-extern const char* TIFFFileName(TIFF*);
-extern const char* TIFFSetFileName(TIFF*, const char *);
-extern void TIFFError(const char*, const char*, ...) __attribute__((format
(printf,2,3)));
-extern void TIFFErrorExt(thandle_t, const char*, const char*, ...) __attribute__((format
(printf,3,4)));
-extern void TIFFWarning(const char*, const char*, ...) __attribute__((format
(printf,2,3)));
-extern void TIFFWarningExt(thandle_t, const char*, const char*, ...)
__attribute__((format (printf,3,4)));
-extern TIFFErrorHandler TIFFSetErrorHandler(TIFFErrorHandler);
-extern TIFFErrorHandlerExt TIFFSetErrorHandlerExt(TIFFErrorHandlerExt);
-extern TIFFErrorHandler TIFFSetWarningHandler(TIFFErrorHandler);
-extern TIFFErrorHandlerExt TIFFSetWarningHandlerExt(TIFFErrorHandlerExt);
-extern TIFFExtendProc TIFFSetTagExtender(TIFFExtendProc);
-extern ttile_t TIFFComputeTile(TIFF*, uint32, uint32, uint32, tsample_t);
-extern int TIFFCheckTile(TIFF*, uint32, uint32, uint32, tsample_t);
-extern ttile_t TIFFNumberOfTiles(TIFF*);
-extern tsize_t TIFFReadTile(TIFF*,
+LIBTIFF_DLL_IMPEXP const char* TIFFFileName(TIFF*);
+LIBTIFF_DLL_IMPEXP const char* TIFFSetFileName(TIFF*, const char *);
+LIBTIFF_DLL_IMPEXP void TIFFError(const char*, const char*, ...) __attribute__((format
(printf,2,3)));
+LIBTIFF_DLL_IMPEXP void TIFFErrorExt(thandle_t, const char*, const char*, ...)
__attribute__((format (printf,3,4)));
+LIBTIFF_DLL_IMPEXP void TIFFWarning(const char*, const char*, ...) __attribute__((format
(printf,2,3)));
+LIBTIFF_DLL_IMPEXP void TIFFWarningExt(thandle_t, const char*, const char*, ...)
__attribute__((format (printf,3,4)));
+LIBTIFF_DLL_IMPEXP TIFFErrorHandler TIFFSetErrorHandler(TIFFErrorHandler);
+LIBTIFF_DLL_IMPEXP TIFFErrorHandlerExt TIFFSetErrorHandlerExt(TIFFErrorHandlerExt);
+LIBTIFF_DLL_IMPEXP TIFFErrorHandler TIFFSetWarningHandler(TIFFErrorHandler);
+LIBTIFF_DLL_IMPEXP TIFFErrorHandlerExt TIFFSetWarningHandlerExt(TIFFErrorHandlerExt);
+LIBTIFF_DLL_IMPEXP TIFFExtendProc TIFFSetTagExtender(TIFFExtendProc);
+LIBTIFF_DLL_IMPEXP ttile_t TIFFComputeTile(TIFF*, uint32, uint32, uint32, tsample_t);
+LIBTIFF_DLL_IMPEXP int TIFFCheckTile(TIFF*, uint32, uint32, uint32, tsample_t);
+LIBTIFF_DLL_IMPEXP ttile_t TIFFNumberOfTiles(TIFF*);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFReadTile(TIFF*,
tdata_t, uint32, uint32, uint32, tsample_t);
-extern tsize_t TIFFWriteTile(TIFF*,
+LIBTIFF_DLL_IMPEXP tsize_t TIFFWriteTile(TIFF*,
tdata_t, uint32, uint32, uint32, tsample_t);
-extern tstrip_t TIFFComputeStrip(TIFF*, uint32, tsample_t);
-extern tstrip_t TIFFNumberOfStrips(TIFF*);
-extern tsize_t TIFFReadEncodedStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
-extern tsize_t TIFFReadRawStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
-extern tsize_t TIFFReadEncodedTile(TIFF*, ttile_t, tdata_t, tsize_t);
-extern tsize_t TIFFReadRawTile(TIFF*, ttile_t, tdata_t, tsize_t);
-extern tsize_t TIFFWriteEncodedStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
-extern tsize_t TIFFWriteRawStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
-extern tsize_t TIFFWriteEncodedTile(TIFF*, ttile_t, tdata_t, tsize_t);
-extern tsize_t TIFFWriteRawTile(TIFF*, ttile_t, tdata_t, tsize_t);
-extern int TIFFDataWidth(TIFFDataType); /* table of tag datatype widths */
-extern void TIFFSetWriteOffset(TIFF*, toff_t);
-extern void TIFFSwabShort(uint16*);
-extern void TIFFSwabLong(uint32*);
-extern void TIFFSwabDouble(double*);
-extern void TIFFSwabArrayOfShort(uint16*, unsigned long);
-extern void TIFFSwabArrayOfTriples(uint8*, unsigned long);
-extern void TIFFSwabArrayOfLong(uint32*, unsigned long);
-extern void TIFFSwabArrayOfDouble(double*, unsigned long);
-extern void TIFFReverseBits(unsigned char *, unsigned long);
-extern const unsigned char* TIFFGetBitRevTable(int);
+LIBTIFF_DLL_IMPEXP tstrip_t TIFFComputeStrip(TIFF*, uint32, tsample_t);
+LIBTIFF_DLL_IMPEXP tstrip_t TIFFNumberOfStrips(TIFF*);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFReadEncodedStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFReadRawStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFReadEncodedTile(TIFF*, ttile_t, tdata_t, tsize_t);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFReadRawTile(TIFF*, ttile_t, tdata_t, tsize_t);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFWriteEncodedStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFWriteRawStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFWriteEncodedTile(TIFF*, ttile_t, tdata_t, tsize_t);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFWriteRawTile(TIFF*, ttile_t, tdata_t, tsize_t);
+LIBTIFF_DLL_IMPEXP int TIFFDataWidth(TIFFDataType); /* table of tag datatype widths
*/
+LIBTIFF_DLL_IMPEXP void TIFFSetWriteOffset(TIFF*, toff_t);
+LIBTIFF_DLL_IMPEXP void TIFFSwabShort(uint16*);
+LIBTIFF_DLL_IMPEXP void TIFFSwabLong(uint32*);
+LIBTIFF_DLL_IMPEXP void TIFFSwabDouble(double*);
+LIBTIFF_DLL_IMPEXP void TIFFSwabArrayOfShort(uint16*, unsigned long);
+LIBTIFF_DLL_IMPEXP void TIFFSwabArrayOfTriples(uint8*, unsigned long);
+LIBTIFF_DLL_IMPEXP void TIFFSwabArrayOfLong(uint32*, unsigned long);
+LIBTIFF_DLL_IMPEXP void TIFFSwabArrayOfDouble(double*, unsigned long);
+LIBTIFF_DLL_IMPEXP void TIFFReverseBits(unsigned char *, unsigned long);
+LIBTIFF_DLL_IMPEXP const unsigned char* TIFFGetBitRevTable(int);
#ifdef LOGLUV_PUBLIC
#define U_NEU 0.210526316
#define V_NEU 0.473684211
#define UVSCALE 410.
-extern double LogL16toY(int);
-extern double LogL10toY(int);
-extern void XYZtoRGB24(float*, uint8*);
-extern int uv_decode(double*, double*, int);
-extern void LogLuv24toXYZ(uint32, float*);
-extern void LogLuv32toXYZ(uint32, float*);
+LIBTIFF_DLL_IMPEXP double LogL16toY(int);
+LIBTIFF_DLL_IMPEXP double LogL10toY(int);
+LIBTIFF_DLL_IMPEXP void XYZtoRGB24(float*, uint8*);
+LIBTIFF_DLL_IMPEXP int uv_decode(double*, double*, int);
+LIBTIFF_DLL_IMPEXP void LogLuv24toXYZ(uint32, float*);
+LIBTIFF_DLL_IMPEXP void LogLuv32toXYZ(uint32, float*);
#if defined(c_plusplus) || defined(__cplusplus)
-extern int LogL16fromY(double, int = SGILOGENCODE_NODITHER);
-extern int LogL10fromY(double, int = SGILOGENCODE_NODITHER);
-extern int uv_encode(double, double, int = SGILOGENCODE_NODITHER);
-extern uint32 LogLuv24fromXYZ(float*, int = SGILOGENCODE_NODITHER);
-extern uint32 LogLuv32fromXYZ(float*, int = SGILOGENCODE_NODITHER);
+LIBTIFF_DLL_IMPEXP int LogL16fromY(double, int = SGILOGENCODE_NODITHER);
+LIBTIFF_DLL_IMPEXP int LogL10fromY(double, int = SGILOGENCODE_NODITHER);
+LIBTIFF_DLL_IMPEXP int uv_encode(double, double, int = SGILOGENCODE_NODITHER);
+LIBTIFF_DLL_IMPEXP uint32 LogLuv24fromXYZ(float*, int = SGILOGENCODE_NODITHER);
+LIBTIFF_DLL_IMPEXP uint32 LogLuv32fromXYZ(float*, int = SGILOGENCODE_NODITHER);
#else
-extern int LogL16fromY(double, int);
-extern int LogL10fromY(double, int);
-extern int uv_encode(double, double, int);
-extern uint32 LogLuv24fromXYZ(float*, int);
-extern uint32 LogLuv32fromXYZ(float*, int);
+LIBTIFF_DLL_IMPEXP int LogL16fromY(double, int);
+LIBTIFF_DLL_IMPEXP int LogL10fromY(double, int);
+LIBTIFF_DLL_IMPEXP int uv_encode(double, double, int);
+LIBTIFF_DLL_IMPEXP uint32 LogLuv24fromXYZ(float*, int);
+LIBTIFF_DLL_IMPEXP uint32 LogLuv32fromXYZ(float*, int);
#endif
#endif /* LOGLUV_PUBLIC */
-extern int TIFFCIELabToRGBInit(TIFFCIELabToRGB*, TIFFDisplay *, float*);
-extern void TIFFCIELabToXYZ(TIFFCIELabToRGB *, uint32, int32, int32,
+LIBTIFF_DLL_IMPEXP int TIFFCIELabToRGBInit(TIFFCIELabToRGB*, TIFFDisplay *, float*);
+LIBTIFF_DLL_IMPEXP void TIFFCIELabToXYZ(TIFFCIELabToRGB *, uint32, int32, int32,
float *, float *, float *);
-extern void TIFFXYZToRGB(TIFFCIELabToRGB *, float, float, float,
+LIBTIFF_DLL_IMPEXP void TIFFXYZToRGB(TIFFCIELabToRGB *, float, float, float,
uint32 *, uint32 *, uint32 *);
-extern int TIFFYCbCrToRGBInit(TIFFYCbCrToRGB*, float*, float*);
-extern void TIFFYCbCrtoRGB(TIFFYCbCrToRGB *, uint32, int32, int32,
+LIBTIFF_DLL_IMPEXP int TIFFYCbCrToRGBInit(TIFFYCbCrToRGB*, float*, float*);
+LIBTIFF_DLL_IMPEXP void TIFFYCbCrtoRGB(TIFFYCbCrToRGB *, uint32, int32, int32,
uint32 *, uint32 *, uint32 *);
#if defined(c_plusplus) || defined(__cplusplus)
Propchange: branches/reactos-yarotows/include/reactos/winsock/msafd.h
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jul 15 20:49:51 2010
@@ -1,2 +1,2 @@
/branches/ros-amd64-bringup/reactos/include/reactos/winsock/msafd.h:34711-34712,34743,34780-34782,34812,34839,34842,34908-34909,34917,34965,35323-35324,35347-35348,35361,35436,35509,35515,35588,35683,35739,35746,35762,35771,35777,35789,35805,35823,35827,35902,35904-35906,35942,35947-35949,35952-35953,35966,36013,36172,36360,36388-36389,36445,36502-36503,36505,36570,36614,36899,36930,36936,36992,37323,37434,37472,37475,37536,37820-37821,37868-37869,37873,37990-37991,38013-38014,38148-38151,38264-38265,38268,38355,39151,39333,39345,39639,40122-40123,40125,40128,40155,40247,40324,40753,40928,40986-40987,40989,40991,40993,40995-40996,41000-41001,41027-41030,41044-41045,41047-41050,41052,41082-41086,41097-41098,41101,41449,41479,41484-41485,41499,41531,41536,41540,41546-41547,41549,43080,43426,43454,43506,43566,43574,43598,43600-43602,43604-43605,43677,43682,43757,43775,43838-43840,43857-43858,43860,43905-43907,43969,44002,44037,44039-44040,44044-44045,44065,44095,44123,44144,44205,44238,44294,44338,44389,44391,44426,44460,44530,44540,44601
-/trunk/reactos/include/reactos/winsock/msafd.h:44354-45543,48010-48040
+/trunk/reactos/include/reactos/winsock/msafd.h:44354-45543,48010-48067
Propchange: branches/reactos-yarotows/include/reactos/winsock/msafdlib.h
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jul 15 20:49:51 2010
@@ -1,2 +1,2 @@
/branches/ros-amd64-bringup/reactos/include/reactos/winsock/msafdlib.h:34711-34712,34743,34780-34782,34812,34839,34842,34908-34909,34917,34965,35323-35324,35347-35348,35361,35436,35509,35515,35588,35683,35739,35746,35762,35771,35777,35789,35805,35823,35827,35902,35904-35906,35942,35947-35949,35952-35953,35966,36013,36172,36360,36388-36389,36445,36502-36503,36505,36570,36614,36899,36930,36936,36992,37323,37434,37472,37475,37536,37820-37821,37868-37869,37873,37990-37991,38013-38014,38148-38151,38264-38265,38268,38355,39151,39333,39345,39639,40122-40123,40125,40128,40155,40247,40324,40753,40928,40986-40987,40989,40991,40993,40995-40996,41000-41001,41027-41030,41044-41045,41047-41050,41052,41082-41086,41097-41098,41101,41449,41479,41484-41485,41499,41531,41536,41540,41546-41547,41549,43080,43426,43454,43506,43566,43574,43598,43600-43602,43604-43605,43677,43682,43757,43775,43838-43840,43857-43858,43860,43905-43907,43969,44002,44037,44039-44040,44044-44045,44065,44095,44123,44144,44205,44238,44294,44338,44389,44391,44426,44460,44530,44540,44601
-/trunk/reactos/include/reactos/winsock/msafdlib.h:44354-45543,48010-48040
+/trunk/reactos/include/reactos/winsock/msafdlib.h:44354-45543,48010-48067
Propchange: branches/reactos-yarotows/include/reactos/winsock/mswinsock.h
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jul 15 20:49:51 2010
@@ -1,2 +1,2 @@
/branches/ros-amd64-bringup/reactos/include/reactos/winsock/mswinsock.h:34711-34712,34743,34780-34782,34812,34839,34842,34908-34909,34917,34965,35323-35324,35347-35348,35361,35436,35509,35515,35588,35683,35739,35746,35762,35771,35777,35789,35805,35823,35827,35902,35904-35906,35942,35947-35949,35952-35953,35966,36013,36172,36360,36388-36389,36445,36502-36503,36505,36570,36614,36899,36930,36936,36992,37323,37434,37472,37475,37536,37820-37821,37868-37869,37873,37990-37991,38013-38014,38148-38151,38264-38265,38268,38355,39151,39333,39345,39639,40122-40123,40125,40128,40155,40247,40324,40753,40928,40986-40987,40989,40991,40993,40995-40996,41000-41001,41027-41030,41044-41045,41047-41050,41052,41082-41086,41097-41098,41101,41449,41479,41484-41485,41499,41531,41536,41540,41546-41547,41549,43080,43426,43454,43506,43566,43574,43598,43600-43602,43604-43605,43677,43682,43757,43775,43838-43840,43857-43858,43860,43905-43907,43969,44002,44037,44039-44040,44044-44045,44065,44095,44123,44144,44205,44238,44294,44338,44389,44391,44426,44460,44530,44540,44601
-/trunk/reactos/include/reactos/winsock/mswinsock.h:44354-45543,48010-48040
+/trunk/reactos/include/reactos/winsock/mswinsock.h:44354-45543,48010-48067
Propchange: branches/reactos-yarotows/include/reactos/winsock/rnr20lib.h
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jul 15 20:49:51 2010
@@ -1,2 +1,2 @@
/branches/ros-amd64-bringup/reactos/include/reactos/winsock/rnr20lib.h:34711-34712,34743,34780-34782,34812,34839,34842,34908-34909,34917,34965,35323-35324,35347-35348,35361,35436,35509,35515,35588,35683,35739,35746,35762,35771,35777,35789,35805,35823,35827,35902,35904-35906,35942,35947-35949,35952-35953,35966,36013,36172,36360,36388-36389,36445,36502-36503,36505,36570,36614,36899,36930,36936,36992,37323,37434,37472,37475,37536,37820-37821,37868-37869,37873,37990-37991,38013-38014,38148-38151,38264-38265,38268,38355,39151,39333,39345,39639,40122-40123,40125,40128,40155,40247,40324,40753,40928,40986-40987,40989,40991,40993,40995-40996,41000-41001,41027-41030,41044-41045,41047-41050,41052,41082-41086,41097-41098,41101,41449,41479,41484-41485,41499,41531,41536,41540,41546-41547,41549,43080,43426,43454,43506,43566,43574,43598,43600-43602,43604-43605,43677,43682,43757,43775,43838-43840,43857-43858,43860,43905-43907,43969,44002,44037,44039-44040,44044-44045,44065,44095,44123,44144,44205,44238,44294,44338,44389,44391,44426,44460,44530,44540,44601
-/trunk/reactos/include/reactos/winsock/rnr20lib.h:44354-45543,48010-48040
+/trunk/reactos/include/reactos/winsock/rnr20lib.h:44354-45543,48010-48067
Propchange: branches/reactos-yarotows/include/reactos/winsock/wsmobile.h
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jul 15 20:49:51 2010
@@ -1,2 +1,2 @@
/branches/ros-amd64-bringup/reactos/include/reactos/winsock/wsmobile.h:34711-34712,34743,34780-34782,34812,34839,34842,34908-34909,34917,34965,35323-35324,35347-35348,35361,35436,35509,35515,35588,35683,35739,35746,35762,35771,35777,35789,35805,35823,35827,35902,35904-35906,35942,35947-35949,35952-35953,35966,36013,36172,36360,36388-36389,36445,36502-36503,36505,36570,36614,36899,36930,36936,36992,37323,37434,37472,37475,37536,37820-37821,37868-37869,37873,37990-37991,38013-38014,38148-38151,38264-38265,38268,38355,39151,39333,39345,39639,40122-40123,40125,40128,40155,40247,40324,40753,40928,40986-40987,40989,40991,40993,40995-40996,41000-41001,41027-41030,41044-41045,41047-41050,41052,41082-41086,41097-41098,41101,41449,41479,41484-41485,41499,41531,41536,41540,41546-41547,41549,43080,43426,43454,43506,43566,43574,43598,43600-43602,43604-43605,43677,43682,43757,43775,43838-43840,43857-43858,43860,43905-43907,43969,44002,44037,44039-44040,44044-44045,44065,44095,44123,44144,44205,44238,44294,44338,44389,44391,44426,44460,44530,44540,44601
-/trunk/reactos/include/reactos/winsock/wsmobile.h:44354-45543,48010-48040
+/trunk/reactos/include/reactos/winsock/wsmobile.h:44354-45543,48010-48067
Modified: branches/reactos-yarotows/ntoskrnl/ex/rundown.c
URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/ex/ru…
==============================================================================
--- branches/reactos-yarotows/ntoskrnl/ex/rundown.c [iso-8859-1] (original)
+++ branches/reactos-yarotows/ntoskrnl/ex/rundown.c [iso-8859-1] Thu Jul 15 20:49:51 2010
@@ -491,7 +491,7 @@
VOID
NTAPI
ExInitializeRundownProtectionCacheAware(IN PEX_RUNDOWN_REF_CACHE_AWARE RunRefCacheAware,
- IN ULONG Count)
+ IN SIZE_T Count)
{
DBG_UNREFERENCED_PARAMETER(RunRefCacheAware);
DBG_UNREFERENCED_PARAMETER(Count);
Modified: branches/reactos-yarotows/ntoskrnl/include/internal/amd64/ke.h
URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/inclu…
==============================================================================
--- branches/reactos-yarotows/ntoskrnl/include/internal/amd64/ke.h [iso-8859-1]
(original)
+++ branches/reactos-yarotows/ntoskrnl/include/internal/amd64/ke.h [iso-8859-1] Thu Jul 15
20:49:51 2010
@@ -316,9 +316,6 @@
#endif /* __ASM__ */
-#undef KeGetCurrentThread
-#define _KeGetCurrentThread KeGetCurrentThread
-
// HACK
extern NTKERNELAPI volatile KSYSTEM_TIME KeTickCount;
Modified: branches/reactos-yarotows/ntoskrnl/include/internal/mm.h
URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/inclu…
==============================================================================
--- branches/reactos-yarotows/ntoskrnl/include/internal/mm.h [iso-8859-1] (original)
+++ branches/reactos-yarotows/ntoskrnl/include/internal/mm.h [iso-8859-1] Thu Jul 15
20:49:51 2010
@@ -17,7 +17,7 @@
extern ULONG MmLowestPhysicalPage;
extern ULONG MmHighestPhysicalPage;
extern ULONG MmAvailablePages;
-extern ULONG MmResidentAvailablePages;
+extern PFN_NUMBER MmResidentAvailablePages;
extern PVOID MmPagedPoolBase;
extern ULONG MmPagedPoolSize;
Modified: branches/reactos-yarotows/ntoskrnl/include/ntoskrnl.h
URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/inclu…
==============================================================================
--- branches/reactos-yarotows/ntoskrnl/include/ntoskrnl.h [iso-8859-1] (original)
+++ branches/reactos-yarotows/ntoskrnl/include/ntoskrnl.h [iso-8859-1] Thu Jul 15 20:49:51
2010
@@ -11,6 +11,12 @@
/* ARM Bringup Hack */
#ifdef _M_ARM
#define DbgPrint DbgPrintEarly
+#endif
+
+/* WDK hacks */
+#ifdef _M_AMD64
+#define IoAllocateAdapterChannel _IoAllocateAdapterChannel
+#define KeGetCurrentThread _KeGetCurrentThread
#endif
/* Version Data */
Modified: branches/reactos-yarotows/ntoskrnl/io/iomgr/adapter.c
URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/io/io…
==============================================================================
--- branches/reactos-yarotows/ntoskrnl/io/iomgr/adapter.c [iso-8859-1] (original)
+++ branches/reactos-yarotows/ntoskrnl/io/iomgr/adapter.c [iso-8859-1] Thu Jul 15 20:49:51
2010
@@ -21,6 +21,7 @@
/* FUNCTIONS *****************************************************************/
+#undef IoAllocateAdapterChannel
/*
* @implemented
*/
Modified: branches/reactos-yarotows/ntoskrnl/kd64/kddata.c
URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/kd64/…
==============================================================================
--- branches/reactos-yarotows/ntoskrnl/kd64/kddata.c [iso-8859-1] (original)
+++ branches/reactos-yarotows/ntoskrnl/kd64/kddata.c [iso-8859-1] Thu Jul 15 20:49:51
2010
@@ -526,14 +526,14 @@
//
// AMD64 GDT/LDT/TSS constants
//
- KGDT_64_R0_CODE,
- KGDT_64_DATA,
- KGDT_64_DATA,
- KGDT_64_R3_CODE,
- KGDT_64_DATA,
- KGDT_64_DATA,
- 0,
- KGDT_TSS,
+ KGDT64_R0_CODE,
+ KGDT64_R3_DATA,
+ KGDT64_R3_DATA,
+ KGDT64_R3_CODE,
+ KGDT64_R3_DATA,
+ KGDT64_R3_DATA,
+ 0,
+ KGDT64_SYS_TSS,
0,
0,
#else
Modified: branches/reactos-yarotows/ntoskrnl/ke/clock.c
URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/ke/cl…
==============================================================================
--- branches/reactos-yarotows/ntoskrnl/ke/clock.c [iso-8859-1] (original)
+++ branches/reactos-yarotows/ntoskrnl/ke/clock.c [iso-8859-1] Thu Jul 15 20:49:51 2010
@@ -175,6 +175,7 @@
}
}
+#ifndef _M_AMD64
/*
* @implemented
*/
@@ -217,6 +218,7 @@
/* Return the time value */
return CurrentTime.QuadPart;
}
+#endif
/*
* @implemented
Modified: branches/reactos-yarotows/ntoskrnl/mm/ARM3/miarm.h
URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/mm/AR…
==============================================================================
--- branches/reactos-yarotows/ntoskrnl/mm/ARM3/miarm.h [iso-8859-1] (original)
+++ branches/reactos-yarotows/ntoskrnl/mm/ARM3/miarm.h [iso-8859-1] Thu Jul 15 20:49:51
2010
@@ -5,6 +5,8 @@
* PURPOSE: ARM Memory Manager Header
* PROGRAMMERS: ReactOS Portable Systems Group
*/
+
+#ifndef _M_AMD64
#define MI_MIN_PAGES_FOR_NONPAGED_POOL_TUNING ((255*1024*1024) >> PAGE_SHIFT)
#define MI_MIN_PAGES_FOR_SYSPTE_TUNING ((19*1024*1024) >> PAGE_SHIFT)
@@ -37,6 +39,8 @@
#define MM_HIGHEST_VAD_ADDRESS \
(PVOID)((ULONG_PTR)MM_HIGHEST_USER_ADDRESS - (16 * PAGE_SIZE))
+
+#endif /* !_M_AMD64 */
/* Make the code cleaner with some definitions for size multiples */
#define _1KB (1024)
@@ -58,7 +62,9 @@
#define PDE_COUNT 4096
#define PTE_COUNT 256
#else
-#error Define these please!
+#define PD_COUNT PPE_PER_PAGE
+#define PDE_COUNT PDE_PER_PAGE
+#define PTE_COUNT PTE_PER_PAGE
#endif
#ifdef _M_IX86
Propchange: branches/reactos-yarotows/subsystems/win32/csrss/win32csr/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jul 15 20:49:51 2010
@@ -1,4 +1,4 @@
/branches/header-work/subsystems/win32/csrss/win32csr:45691-46463
/branches/ros-amd64-bringup/reactos/subsystems/win32/csrss/win32csr:34711-34712,34741,34743,34780-34782,34803,34812,34839,34842,34864,34870,34874,34877,34908-34909,34917,34965,35323-35324,35347-35348,35361,35436,35509,35515,35588,35655,35683,35739,35746,35762,35771,35777,35781,35789,35805,35823,35827,35902,35904-35906,35942,35947-35949,35952-35953,35966,36011-36013,36172,36360,36380,36388-36389,36397,36445,36502-36503,36505,36570,36614,36898-36899,36930,36936,36949,36951,36958,36961,36964,36969,36972,36992,37323,37434,37472,37475,37536,37820-37821,37868-37869,37873,37990-37991,38013-38014,38092,38100,38148-38151,38264-38265,38268,38355,39151,39333,39335,39345,39639,40122-40123,40125,40128,40155,40247,40324,40753,40927-40928,40986-40987,40989,40991,40993,40995-40996,41000-41001,41027-41030,41044-41045,41047-41050,41052,41070,41082-41086,41097-41098,41101,41449,41479,41484-41485,41499-41500,41502,41531,41536,41540,41546-41547,41549,43080,43426,43454,43506,43566,43574,43598,43600-43602,43604-43605,43677,43682,43757,43775,43836,43838-43840,43857-43858,43860,43905-43907,43969,44002,44036-44037,44039-44040,44044-44045,44065,44095,44123,44144,44205,44238,44294,44338-44339,44389,44391,44426,44460,44467-44468,44470-44471,44499,44501,44503-44504,44506,44510-44512,44521,44523-44526,44530,44540,44601,44772,45124,45126-45127,46394,46478,46511,46524,46526,46534-46535,46537-46539,46589
/branches/ros-amd64-bringup/subsystems/win32/csrss/win32csr:36852
-/trunk/reactos/subsystems/win32/csrss/win32csr:45219-48040
+/trunk/reactos/subsystems/win32/csrss/win32csr:45219-48067
Modified: branches/reactos-yarotows/subsystems/win32/win32k/objects/cliprgn.c
URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/subsystems/win…
==============================================================================
--- branches/reactos-yarotows/subsystems/win32/win32k/objects/cliprgn.c [iso-8859-1]
(original)
+++ branches/reactos-yarotows/subsystems/win32/win32k/objects/cliprgn.c [iso-8859-1] Thu
Jul 15 20:49:51 2010
@@ -26,7 +26,7 @@
CLIPPING_UpdateGCRegion(DC* Dc)
{
PROSRGNDATA CombinedRegion;
- HRGN hRgnVis = NULL;
+ HRGN hRgnVis = Dc->prgnVis->BaseObject.hHmgr;
// would prefer this, but the rest of the code sucks
// ASSERT(Dc->rosdc.hGCClipRgn);
@@ -45,7 +45,7 @@
Dc->rosdc.hGCClipRgn = IntSysCreateRectRgn(0, 0, 0, 0);
if (Dc->rosdc.hClipRgn == NULL)
- NtGdiCombineRgn(Dc->rosdc.hGCClipRgn,
((PROSRGNDATA)Dc->prgnVis)->BaseObject.hHmgr, 0, RGN_COPY);
+ NtGdiCombineRgn(Dc->rosdc.hGCClipRgn, hRgnVis, 0, RGN_COPY);
else
NtGdiCombineRgn(Dc->rosdc.hGCClipRgn, Dc->rosdc.hClipRgn, hRgnVis, RGN_AND);