mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-09-13 09:17:20 -07:00
Rebase against f4a8ad89d43646a8d109da5747dfb1a92a6d8cd1.
This commit is contained in:
parent
b97718a0a9
commit
6882ba5e7b
@ -37,8 +37,8 @@ index 0903298..de45603 100644
|
||||
+
|
||||
+ desc.cbSizeofstruct = sizeof(desc);
|
||||
+ desc.picType = PICTYPE_ENHMETAFILE;
|
||||
+ desc.u.emf.hemf = CloseEnhMetaFile(hdc);
|
||||
+ ok(desc.u.emf.hemf != 0, "CloseEnhMetaFile failed\n");
|
||||
+ desc.emf.hemf = CloseEnhMetaFile(hdc);
|
||||
+ ok(desc.emf.hemf != 0, "CloseEnhMetaFile failed\n");
|
||||
+ hr = OleCreatePictureIndirect(&desc, &IID_IPicture, FALSE, (void**)&pic);
|
||||
+ ok(hr == S_OK, "OleCreatePictureIndirect error %#x\n", hr);
|
||||
+
|
||||
@ -49,7 +49,7 @@ index 0903298..de45603 100644
|
||||
+
|
||||
+ hr = IPicture_get_Handle(pic, &handle);
|
||||
+ ok(hr == S_OK,"get_Handle error %#8x\n", hr);
|
||||
+ ok(IntToPtr(handle) == desc.u.emf.hemf, "get_Handle returned wrong handle %#x\n", handle);
|
||||
+ ok(IntToPtr(handle) == desc.emf.hemf, "get_Handle returned wrong handle %#x\n", handle);
|
||||
+
|
||||
+ hmem = GlobalAlloc(GMEM_MOVEABLE, 0);
|
||||
+ hr = CreateStreamOnHGlobal(hmem, FALSE, &dst_stream);
|
||||
@ -101,7 +101,7 @@ index 0903298..de45603 100644
|
||||
+ GlobalUnlock(hmem);
|
||||
+ GlobalFree(hmem);
|
||||
+
|
||||
+ DeleteEnhMetaFile(desc.u.emf.hemf);
|
||||
+ DeleteEnhMetaFile(desc.emf.hemf);
|
||||
+ IPicture_Release(pic);
|
||||
+}
|
||||
+
|
||||
|
@ -22,7 +22,7 @@ index a2a54bd..3fd7638 100644
|
||||
+{
|
||||
+ ENHMETAHEADER emh;
|
||||
+
|
||||
+ GetEnhMetaFileHeader(This->desc.u.emf.hemf, sizeof(emh), &emh);
|
||||
+ GetEnhMetaFileHeader(This->desc.emf.hemf, sizeof(emh), &emh);
|
||||
+
|
||||
+ This->origWidth = 0;
|
||||
+ This->origHeight = 0;
|
||||
@ -69,7 +69,7 @@ index a2a54bd..3fd7638 100644
|
||||
+ case PICTYPE_ENHMETAFILE:
|
||||
+ if (This->bIsDirty || !This->data)
|
||||
+ {
|
||||
+ serializeResult = serializeEMF(This->desc.u.emf.hemf, &pIconData, &iDataSize);
|
||||
+ serializeResult = serializeEMF(This->desc.emf.hemf, &pIconData, &iDataSize);
|
||||
+ if (!serializeResult)
|
||||
+ {
|
||||
+ hResult = E_FAIL;
|
||||
|
@ -63,7 +63,7 @@ index bbc5e2aa9c8..0410d2b3cad 100644
|
||||
+
|
||||
+ if (This->bIsDirty || !This->data)
|
||||
+ {
|
||||
+ if (!serializeIcon(This->desc.u.icon.hicon, &data, &data_size))
|
||||
+ if (!serializeIcon(This->desc.icon.hicon, &data, &data_size))
|
||||
+ return E_FAIL;
|
||||
+ HeapFree(GetProcessHeap(), 0, This->data);
|
||||
+ This->data = data;
|
||||
@ -81,7 +81,7 @@ index bbc5e2aa9c8..0410d2b3cad 100644
|
||||
+ switch (This->keepOrigFormat ? This->loadtime_format : BITMAP_FORMAT_BMP)
|
||||
+ {
|
||||
+ case BITMAP_FORMAT_BMP:
|
||||
+ if (!serializeBMP(This->desc.u.bmp.hbitmap, &data, &data_size))
|
||||
+ if (!serializeBMP(This->desc.bmp.hbitmap, &data, &data_size))
|
||||
+ return E_FAIL;
|
||||
+ break;
|
||||
+ case BITMAP_FORMAT_JPEG:
|
||||
|
@ -24,7 +24,7 @@ index 7d13942..db90c4c 100644
|
||||
+
|
||||
+ if (This->bIsDirty || !This->data)
|
||||
+ {
|
||||
+ if (!serializeEMF(This->desc.u.emf.hemf, &data, &data_size))
|
||||
+ if (!serializeEMF(This->desc.emf.hemf, &data, &data_size))
|
||||
+ return E_FAIL;
|
||||
+ HeapFree(GetProcessHeap(), 0, This->data);
|
||||
+ This->data = data;
|
||||
|
@ -1,21 +1,21 @@
|
||||
From 182a2cbf47a8562a43db6bdc8bd29e0980a9ddcd Mon Sep 17 00:00:00 2001
|
||||
From a9cd52667f49a57900a08591cd66b40747a12db0 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Thu, 21 Apr 2016 14:40:58 +0800
|
||||
Subject: oleaut32: OleLoadPicture should create a DIB section for a being
|
||||
loaded bitmap. (v3)
|
||||
Subject: [PATCH] oleaut32: OleLoadPicture should create a DIB section for a
|
||||
being loaded bitmap. (v3)
|
||||
|
||||
Application in the bug 39474 depends on this (GetObject/bmBits should not be
|
||||
NULL, otherwise it crashes).
|
||||
---
|
||||
dlls/oleaut32/olepicture.c | 65 ++++++++++++++++------------------------
|
||||
dlls/oleaut32/olepicture.c | 65 +++++++++++++-------------------
|
||||
dlls/oleaut32/tests/olepicture.c | 2 +-
|
||||
2 files changed, 27 insertions(+), 40 deletions(-)
|
||||
|
||||
diff --git a/dlls/oleaut32/olepicture.c b/dlls/oleaut32/olepicture.c
|
||||
index bfca22f..1b6fb2c 100644
|
||||
index 45baa74a439..22a34d6e380 100644
|
||||
--- a/dlls/oleaut32/olepicture.c
|
||||
+++ b/dlls/oleaut32/olepicture.c
|
||||
@@ -999,23 +999,16 @@ static HRESULT OLEPictureImpl_LoadDIB(OLEPictureImpl *This, BYTE *xbuf, ULONG xr
|
||||
@@ -983,23 +983,16 @@ static HRESULT OLEPictureImpl_LoadDIB(OLEPictureImpl *This, BYTE *xbuf, ULONG xr
|
||||
{
|
||||
BITMAPFILEHEADER *bfh = (BITMAPFILEHEADER*)xbuf;
|
||||
BITMAPINFO *bi = (BITMAPINFO*)(bfh+1);
|
||||
@ -27,7 +27,7 @@ index bfca22f..1b6fb2c 100644
|
||||
- * components which are in both
|
||||
- */
|
||||
- hdcref = GetDC(0);
|
||||
- This->desc.u.bmp.hbitmap = CreateDIBitmap(
|
||||
- This->desc.bmp.hbitmap = CreateDIBitmap(
|
||||
- hdcref,
|
||||
- &(bi->bmiHeader),
|
||||
- CBM_INIT,
|
||||
@ -36,8 +36,8 @@ index bfca22f..1b6fb2c 100644
|
||||
- DIB_RGB_COLORS
|
||||
- );
|
||||
- ReleaseDC(0, hdcref);
|
||||
+ This->desc.u.bmp.hbitmap = CreateDIBSection(0, bi, DIB_RGB_COLORS, &bits, NULL, 0);
|
||||
if (This->desc.u.bmp.hbitmap == 0)
|
||||
+ This->desc.bmp.hbitmap = CreateDIBSection(0, bi, DIB_RGB_COLORS, &bits, NULL, 0);
|
||||
if (This->desc.bmp.hbitmap == 0)
|
||||
return E_FAIL;
|
||||
+
|
||||
+ GetObjectA(This->desc.u.bmp.hbitmap, sizeof(bmp), &bmp);
|
||||
@ -46,7 +46,7 @@ index bfca22f..1b6fb2c 100644
|
||||
This->desc.picType = PICTYPE_BITMAP;
|
||||
OLEPictureImpl_SetBitmap(This);
|
||||
return S_OK;
|
||||
@@ -1025,10 +1018,9 @@ static HRESULT OLEPictureImpl_LoadWICSource(OLEPictureImpl *This, IWICBitmapSour
|
||||
@@ -1009,10 +1002,9 @@ static HRESULT OLEPictureImpl_LoadWICSource(OLEPictureImpl *This, IWICBitmapSour
|
||||
{
|
||||
HRESULT hr;
|
||||
BITMAPINFOHEADER bih;
|
||||
@ -58,7 +58,7 @@ index bfca22f..1b6fb2c 100644
|
||||
WICRect rc;
|
||||
IWICBitmapSource *real_source;
|
||||
UINT x, y;
|
||||
@@ -1056,34 +1048,28 @@ static HRESULT OLEPictureImpl_LoadWICSource(OLEPictureImpl *This, IWICBitmapSour
|
||||
@@ -1040,34 +1032,28 @@ static HRESULT OLEPictureImpl_LoadWICSource(OLEPictureImpl *This, IWICBitmapSour
|
||||
stride = 4 * width;
|
||||
buffersize = stride * height;
|
||||
|
||||
@ -71,8 +71,8 @@ index bfca22f..1b6fb2c 100644
|
||||
goto end;
|
||||
}
|
||||
|
||||
+ This->desc.u.bmp.hbitmap = CreateDIBSection(0, (BITMAPINFO*)&bih, DIB_RGB_COLORS, (void **)&bits, NULL, 0);
|
||||
+ if (This->desc.u.bmp.hbitmap == 0)
|
||||
+ This->desc.bmp.hbitmap = CreateDIBSection(0, (BITMAPINFO*)&bih, DIB_RGB_COLORS, (void **)&bits, NULL, 0);
|
||||
+ if (This->desc.bmp.hbitmap == 0)
|
||||
+ {
|
||||
+ hr = E_FAIL;
|
||||
+ goto end;
|
||||
@ -87,7 +87,7 @@ index bfca22f..1b6fb2c 100644
|
||||
- goto end;
|
||||
-
|
||||
- hdcref = GetDC(0);
|
||||
- This->desc.u.bmp.hbitmap = CreateDIBitmap(
|
||||
- This->desc.bmp.hbitmap = CreateDIBitmap(
|
||||
- hdcref,
|
||||
- &bih,
|
||||
- CBM_INIT,
|
||||
@ -95,15 +95,15 @@ index bfca22f..1b6fb2c 100644
|
||||
- (BITMAPINFO*)&bih,
|
||||
- DIB_RGB_COLORS);
|
||||
-
|
||||
- if (This->desc.u.bmp.hbitmap == 0)
|
||||
- if (This->desc.bmp.hbitmap == 0)
|
||||
{
|
||||
- hr = E_FAIL;
|
||||
- ReleaseDC(0, hdcref);
|
||||
+ DeleteObject(This->desc.u.bmp.hbitmap);
|
||||
+ DeleteObject(This->desc.bmp.hbitmap);
|
||||
goto end;
|
||||
}
|
||||
|
||||
@@ -1097,23 +1083,25 @@ static HRESULT OLEPictureImpl_LoadWICSource(OLEPictureImpl *This, IWICBitmapSour
|
||||
@@ -1081,23 +1067,25 @@ static HRESULT OLEPictureImpl_LoadWICSource(OLEPictureImpl *This, IWICBitmapSour
|
||||
if((*pixel & 0x80000000) == 0)
|
||||
{
|
||||
has_alpha = TRUE;
|
||||
@ -133,7 +133,7 @@ index bfca22f..1b6fb2c 100644
|
||||
(BITMAPINFO*)&bih,
|
||||
DIB_RGB_COLORS
|
||||
);
|
||||
@@ -1138,12 +1126,11 @@ static HRESULT OLEPictureImpl_LoadWICSource(OLEPictureImpl *This, IWICBitmapSour
|
||||
@@ -1122,12 +1110,11 @@ static HRESULT OLEPictureImpl_LoadWICSource(OLEPictureImpl *This, IWICBitmapSour
|
||||
DeleteDC(hdcBmp);
|
||||
DeleteDC(hdcXor);
|
||||
DeleteDC(hdcMask);
|
||||
@ -149,10 +149,10 @@ index bfca22f..1b6fb2c 100644
|
||||
return hr;
|
||||
}
|
||||
diff --git a/dlls/oleaut32/tests/olepicture.c b/dlls/oleaut32/tests/olepicture.c
|
||||
index b716f25..795ee71 100644
|
||||
index 7b45b690935..fa7e8009cbd 100644
|
||||
--- a/dlls/oleaut32/tests/olepicture.c
|
||||
+++ b/dlls/oleaut32/tests/olepicture.c
|
||||
@@ -240,7 +240,7 @@ test_pic_with_stream(LPSTREAM stream, unsigned int imgsize)
|
||||
@@ -239,7 +239,7 @@ test_pic_with_stream(LPSTREAM stream, unsigned int imgsize)
|
||||
{
|
||||
BITMAP bmp;
|
||||
GetObjectA(UlongToHandle(handle), sizeof(BITMAP), &bmp);
|
||||
@ -162,5 +162,5 @@ index b716f25..795ee71 100644
|
||||
|
||||
width = 0;
|
||||
--
|
||||
2.9.0
|
||||
2.40.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From edeffac23fae035e8b7910e5e4d97a48d7556220 Mon Sep 17 00:00:00 2001
|
||||
From e72c3ef9b52c3b5b099907c017206f168cff419f Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Wed, 5 Apr 2017 12:03:19 +0800
|
||||
Subject: oleaut32: Make OleLoadPicture load DIBs using WIC decoder.
|
||||
Subject: [PATCH] oleaut32: Make OleLoadPicture load DIBs using WIC decoder.
|
||||
|
||||
CreateDIBSection doesn't support RLE compressed bitmaps.
|
||||
|
||||
@ -13,10 +13,10 @@ installer.
|
||||
2 files changed, 12 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/dlls/oleaut32/olepicture.c b/dlls/oleaut32/olepicture.c
|
||||
index 7d2f9a2eec..96304e0644 100644
|
||||
index 22a34d6e380..37c3983ed21 100644
|
||||
--- a/dlls/oleaut32/olepicture.c
|
||||
+++ b/dlls/oleaut32/olepicture.c
|
||||
@@ -998,25 +998,6 @@ static HRESULT WINAPI OLEPictureImpl_IsDirty(
|
||||
@@ -979,25 +979,6 @@ static HRESULT WINAPI OLEPictureImpl_IsDirty(
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@ -27,8 +27,8 @@ index 7d2f9a2eec..96304e0644 100644
|
||||
- void *bits;
|
||||
- BITMAP bmp;
|
||||
-
|
||||
- This->desc.u.bmp.hbitmap = CreateDIBSection(0, bi, DIB_RGB_COLORS, &bits, NULL, 0);
|
||||
- if (This->desc.u.bmp.hbitmap == 0)
|
||||
- This->desc.bmp.hbitmap = CreateDIBSection(0, bi, DIB_RGB_COLORS, &bits, NULL, 0);
|
||||
- if (This->desc.bmp.hbitmap == 0)
|
||||
- return E_FAIL;
|
||||
-
|
||||
- GetObjectA(This->desc.u.bmp.hbitmap, sizeof(bmp), &bmp);
|
||||
@ -42,7 +42,7 @@ index 7d2f9a2eec..96304e0644 100644
|
||||
static HRESULT OLEPictureImpl_LoadWICSource(OLEPictureImpl *This, IWICBitmapSource *src)
|
||||
{
|
||||
HRESULT hr;
|
||||
@@ -1497,7 +1478,7 @@ static HRESULT WINAPI OLEPictureImpl_Load(IPersistStream* iface, IStream *pStm)
|
||||
@@ -1478,7 +1459,7 @@ static HRESULT WINAPI OLEPictureImpl_Load(IPersistStream* iface, IStream *pStm)
|
||||
hr = OLEPictureImpl_LoadWICDecoder(This, &CLSID_WICJpegDecoder, xbuf, xread);
|
||||
break;
|
||||
case BITMAP_FORMAT_BMP: /* Bitmap */
|
||||
@ -52,10 +52,10 @@ index 7d2f9a2eec..96304e0644 100644
|
||||
case BITMAP_FORMAT_PNG: /* PNG */
|
||||
hr = OLEPictureImpl_LoadWICDecoder(This, &CLSID_WICPngDecoder, xbuf, xread);
|
||||
diff --git a/dlls/oleaut32/tests/olepicture.c b/dlls/oleaut32/tests/olepicture.c
|
||||
index 8147bf740c..1e4d55debc 100644
|
||||
index fa7e8009cbd..a1c3ccf20c3 100644
|
||||
--- a/dlls/oleaut32/tests/olepicture.c
|
||||
+++ b/dlls/oleaut32/tests/olepicture.c
|
||||
@@ -98,7 +98,7 @@ static const unsigned char pngimage[285] = {
|
||||
@@ -97,7 +97,7 @@ static const unsigned char pngimage[285] = {
|
||||
0xe7,0x00,0x00,0x00,0x00,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82
|
||||
};
|
||||
|
||||
@ -64,7 +64,7 @@ index 8147bf740c..1e4d55debc 100644
|
||||
static const unsigned char bmpimage[66] = {
|
||||
0x42,0x4d,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,0x00,0x00,0x28,0x00,
|
||||
0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x00,0x00,
|
||||
@@ -107,6 +107,15 @@ static const unsigned char bmpimage[66] = {
|
||||
@@ -106,6 +106,15 @@ static const unsigned char bmpimage[66] = {
|
||||
0x00,0x00
|
||||
};
|
||||
|
||||
@ -80,7 +80,7 @@ index 8147bf740c..1e4d55debc 100644
|
||||
/* 2x2 pixel gif */
|
||||
static const unsigned char gif4pixel[42] = {
|
||||
0x47,0x49,0x46,0x38,0x37,0x61,0x02,0x00,0x02,0x00,0xa1,0x00,0x00,0x00,0x00,0x00,
|
||||
@@ -1461,6 +1470,7 @@ START_TEST(olepicture)
|
||||
@@ -1492,6 +1501,7 @@ START_TEST(olepicture)
|
||||
test_pic(gifimage, sizeof(gifimage));
|
||||
test_pic(jpgimage, sizeof(jpgimage));
|
||||
test_pic(bmpimage, sizeof(bmpimage));
|
||||
@ -89,5 +89,5 @@ index 8147bf740c..1e4d55debc 100644
|
||||
/* FIXME: No PNG support in Windows... */
|
||||
if (0) test_pic(pngimage, sizeof(pngimage));
|
||||
--
|
||||
2.11.0
|
||||
2.40.1
|
||||
|
||||
|
@ -432,7 +432,7 @@ index 14cd9aeeebe..ed3a07c423d 100644
|
||||
+ if (FAILED(IDataObject_GetData(pDo, &format, &stgm)))
|
||||
+ return;
|
||||
+
|
||||
+ if (!(len = DragQueryFileW((HDROP)stgm.DUMMYUNIONNAME.hGlobal, 0, NULL, 0)))
|
||||
+ if (!(len = DragQueryFileW((HDROP)stgm.hGlobal, 0, NULL, 0)))
|
||||
+ {
|
||||
+ ReleaseStgMedium(&stgm);
|
||||
+ return;
|
||||
@ -444,7 +444,7 @@ index 14cd9aeeebe..ed3a07c423d 100644
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ len = DragQueryFileW((HDROP)stgm.DUMMYUNIONNAME.hGlobal, 0, path, len + 1);
|
||||
+ len = DragQueryFileW((HDROP)stgm.hGlobal, 0, path, len + 1);
|
||||
+ ReleaseStgMedium(&stgm);
|
||||
+ if (!len) goto done;
|
||||
+
|
||||
|
@ -1,29 +1,20 @@
|
||||
From 9540fdc5b1668e4b575ce00539454b8ac66457a0 Mon Sep 17 00:00:00 2001
|
||||
From c7ab99f5961daaf0c81a710d332dca5fc79528c0 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 2 Apr 2016 04:15:02 +0200
|
||||
Subject: shell32: Add support for setting/getting PREFERREDDROPEFFECT in
|
||||
IDataObject.
|
||||
Subject: [PATCH] shell32: Add support for setting/getting PREFERREDDROPEFFECT
|
||||
in IDataObject.
|
||||
|
||||
---
|
||||
dlls/shell32/clipboard.c | 40 ++++++++++++++++++++++++++++++++++++++++
|
||||
dlls/shell32/dataobject.c | 24 +++++++++++++++++++++---
|
||||
dlls/shell32/clipboard.c | 40 +++++++++++++++++++++++++++++++++++++
|
||||
dlls/shell32/dataobject.c | 24 +++++++++++++++++++---
|
||||
dlls/shell32/shell32_main.h | 2 ++
|
||||
3 files changed, 63 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/shell32/clipboard.c b/dlls/shell32/clipboard.c
|
||||
index 82df534..9c6f284 100644
|
||||
index 2f5c63bed9d..27c3421cf28 100644
|
||||
--- a/dlls/shell32/clipboard.c
|
||||
+++ b/dlls/shell32/clipboard.c
|
||||
@@ -38,6 +38,8 @@
|
||||
#include <stdarg.h>
|
||||
#include <string.h>
|
||||
|
||||
+#define NONAMELESSUNION
|
||||
+
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "winreg.h"
|
||||
@@ -214,3 +216,41 @@ HGLOBAL RenderFILENAMEW (LPITEMIDLIST pidlRoot, LPITEMIDLIST * apidl, UINT cidl)
|
||||
@@ -212,3 +214,41 @@ HGLOBAL RenderFILENAMEW (LPITEMIDLIST pidlRoot, LPITEMIDLIST * apidl, UINT cidl)
|
||||
|
||||
return hGlobal;
|
||||
}
|
||||
@ -55,21 +46,21 @@ index 82df534..9c6f284 100644
|
||||
+
|
||||
+ TRACE("(%p, %p)\n", pmedium, value);
|
||||
+
|
||||
+ pEffect = GlobalLock(pmedium->u.hGlobal);
|
||||
+ pEffect = GlobalLock(pmedium->hGlobal);
|
||||
+ if (pEffect)
|
||||
+ {
|
||||
+ *value = *pEffect;
|
||||
+ result = S_OK;
|
||||
+ GlobalUnlock(pmedium->u.hGlobal);
|
||||
+ GlobalUnlock(pmedium->hGlobal);
|
||||
+ }
|
||||
+
|
||||
+ return result;
|
||||
+}
|
||||
diff --git a/dlls/shell32/dataobject.c b/dlls/shell32/dataobject.c
|
||||
index cc7b63e..5a18a1a 100644
|
||||
index 3cd86845c42..cc7ab601bac 100644
|
||||
--- a/dlls/shell32/dataobject.c
|
||||
+++ b/dlls/shell32/dataobject.c
|
||||
@@ -197,7 +197,7 @@ LPENUMFORMATETC IEnumFORMATETC_Constructor(UINT cfmt, const FORMATETC afmt[])
|
||||
@@ -193,7 +193,7 @@ LPENUMFORMATETC IEnumFORMATETC_Constructor(UINT cfmt, const FORMATETC afmt[])
|
||||
*/
|
||||
|
||||
/* number of supported formats */
|
||||
@ -78,7 +69,7 @@ index cc7b63e..5a18a1a 100644
|
||||
|
||||
typedef struct
|
||||
{
|
||||
@@ -209,12 +209,13 @@ typedef struct
|
||||
@@ -205,12 +205,13 @@ typedef struct
|
||||
LPITEMIDLIST pidl;
|
||||
LPITEMIDLIST * apidl;
|
||||
UINT cidl;
|
||||
@ -93,18 +84,18 @@ index cc7b63e..5a18a1a 100644
|
||||
} IDataObjectImpl;
|
||||
|
||||
static inline IDataObjectImpl *impl_from_IDataObject(IDataObject *iface)
|
||||
@@ -314,6 +315,10 @@ static HRESULT WINAPI IDataObject_fnGetData(IDataObject *iface, LPFORMATETC pfor
|
||||
@@ -310,6 +311,10 @@ static HRESULT WINAPI IDataObject_fnGetData(IDataObject *iface, LPFORMATETC pfor
|
||||
if (This->cidl < 1) return(E_UNEXPECTED);
|
||||
pmedium->u.hGlobal = RenderFILENAMEW(This->pidl, This->apidl, This->cidl);
|
||||
pmedium->hGlobal = RenderFILENAMEW(This->pidl, This->apidl, This->cidl);
|
||||
}
|
||||
+ else if (pformatetcIn->cfFormat == This->cfDropEffect)
|
||||
+ {
|
||||
+ pmedium->u.hGlobal = RenderPREFERREDDROPEFFECT(This->dropEffect);
|
||||
+ pmedium->hGlobal = RenderPREFERREDDROPEFFECT(This->dropEffect);
|
||||
+ }
|
||||
else
|
||||
{
|
||||
FIXME("-- expected clipformat not implemented\n");
|
||||
@@ -368,7 +373,17 @@ static HRESULT WINAPI IDataObject_fnGetCanonicalFormatEtc(IDataObject *iface, LP
|
||||
@@ -364,7 +369,17 @@ static HRESULT WINAPI IDataObject_fnGetCanonicalFormatEtc(IDataObject *iface, LP
|
||||
static HRESULT WINAPI IDataObject_fnSetData(IDataObject *iface, LPFORMATETC pformatetc, STGMEDIUM *pmedium, BOOL fRelease)
|
||||
{
|
||||
IDataObjectImpl *This = impl_from_IDataObject(iface);
|
||||
@ -123,7 +114,7 @@ index cc7b63e..5a18a1a 100644
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@@ -441,14 +456,17 @@ IDataObject* IDataObject_Constructor(HWND hwndOwner,
|
||||
@@ -437,14 +452,17 @@ IDataObject* IDataObject_Constructor(HWND hwndOwner,
|
||||
dto->pidl = ILClone(pMyPidl);
|
||||
dto->apidl = _ILCopyaPidl(apidl, cidl);
|
||||
dto->cidl = cidl;
|
||||
@ -142,10 +133,10 @@ index cc7b63e..5a18a1a 100644
|
||||
|
||||
TRACE("(%p)->(apidl=%p cidl=%u)\n",dto, apidl, cidl);
|
||||
diff --git a/dlls/shell32/shell32_main.h b/dlls/shell32/shell32_main.h
|
||||
index 492f79f..29822b7 100644
|
||||
index f9607585184..56f0a631d08 100644
|
||||
--- a/dlls/shell32/shell32_main.h
|
||||
+++ b/dlls/shell32/shell32_main.h
|
||||
@@ -130,6 +130,8 @@ HGLOBAL RenderHDROP(LPITEMIDLIST pidlRoot, LPITEMIDLIST * apidl, UINT cidl) DECL
|
||||
@@ -141,6 +141,8 @@ HGLOBAL RenderHDROP(LPITEMIDLIST pidlRoot, LPITEMIDLIST * apidl, UINT cidl) DECL
|
||||
HGLOBAL RenderSHELLIDLIST (LPITEMIDLIST pidlRoot, LPITEMIDLIST * apidl, UINT cidl) DECLSPEC_HIDDEN;
|
||||
HGLOBAL RenderFILENAMEA (LPITEMIDLIST pidlRoot, LPITEMIDLIST * apidl, UINT cidl) DECLSPEC_HIDDEN;
|
||||
HGLOBAL RenderFILENAMEW (LPITEMIDLIST pidlRoot, LPITEMIDLIST * apidl, UINT cidl) DECLSPEC_HIDDEN;
|
||||
@ -155,5 +146,5 @@ index 492f79f..29822b7 100644
|
||||
/* Change Notification */
|
||||
void InitChangeNotifications(void) DECLSPEC_HIDDEN;
|
||||
--
|
||||
2.7.1
|
||||
2.40.1
|
||||
|
||||
|
@ -31,10 +31,10 @@ index abee4c93a35..6a16aab2f25 100644
|
||||
+
|
||||
+ medium.tymed = TYMED_HGLOBAL;
|
||||
+ medium.pUnkForRelease = NULL;
|
||||
+ medium.u.hGlobal = GlobalAlloc(GHND|GMEM_SHARE, sizeof(DWORD));
|
||||
+ if (!medium.u.hGlobal) return;
|
||||
+ medium.hGlobal = GlobalAlloc(GHND|GMEM_SHARE, sizeof(DWORD));
|
||||
+ if (!medium.hGlobal) return;
|
||||
+
|
||||
+ effect = GlobalLock(medium.u.hGlobal);
|
||||
+ effect = GlobalLock(medium.hGlobal);
|
||||
+ if (!effect)
|
||||
+ {
|
||||
+ ReleaseStgMedium(&medium);
|
||||
@ -64,7 +64,7 @@ index abee4c93a35..6a16aab2f25 100644
|
||||
+
|
||||
+ if (SUCCEEDED(IDataObject_GetData(dataobject, &formatetc, &medium)))
|
||||
+ {
|
||||
+ effect = GlobalLock(medium.u.hGlobal);
|
||||
+ effect = GlobalLock(medium.hGlobal);
|
||||
+ if (effect)
|
||||
+ {
|
||||
+ *value = *effect;
|
||||
|
@ -55,7 +55,7 @@ new file mode 100644
|
||||
index 00000000000..96ff0ea5af2
|
||||
--- /dev/null
|
||||
+++ b/dlls/windows.networking.connectivity/windows.networking.connectivity_main.c
|
||||
@@ -0,0 +1,35 @@
|
||||
@@ -0,0 +1,26 @@
|
||||
+#include <stdarg.h>
|
||||
+
|
||||
+#define COBJMACROS
|
||||
@ -71,15 +71,6 @@ index 00000000000..96ff0ea5af2
|
||||
+
|
||||
+WINE_DEFAULT_DEBUG_CHANNEL(network);
|
||||
+
|
||||
+static const char *debugstr_hstring(HSTRING hstr)
|
||||
+{
|
||||
+ const WCHAR *str;
|
||||
+ UINT32 len;
|
||||
+ if (hstr && !((ULONG_PTR)hstr >> 16)) return "(invalid)";
|
||||
+ str = WindowsGetStringRawBuffer(hstr, &len);
|
||||
+ return wine_dbgstr_wn(str, len);
|
||||
+}
|
||||
+
|
||||
+HRESULT WINAPI DllGetClassObject(REFCLSID clsid, REFIID riid, LPVOID *object)
|
||||
+{
|
||||
+ FIXME("clsid %s, riid %s, object %p stub!\n", debugstr_guid(clsid), debugstr_guid(riid), object);
|
||||
|
@ -1,8 +1,8 @@
|
||||
From 587e8baeef029940518223d13b754b4e6c0352cd Mon Sep 17 00:00:00 2001
|
||||
From 3f6ade7cf0bb0652b426ac20ef1c524f087966e4 Mon Sep 17 00:00:00 2001
|
||||
From: Esdras Tarsis <esdrastarsis@gmail.com>
|
||||
Date: Wed, 2 Sep 2020 23:53:28 -0300
|
||||
Subject: [PATCH 4/8] windows.networking.connectivity: Implement
|
||||
IActivationFactory stubs.
|
||||
Subject: [PATCH] windows.networking.connectivity: Implement IActivationFactory
|
||||
stubs.
|
||||
|
||||
v2:
|
||||
Add Proper QueryInterface
|
||||
@ -12,12 +12,12 @@ Fixed Initial Reference Count value.
|
||||
1 file changed, 101 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/windows.networking.connectivity/windows.networking.connectivity_main.c b/dlls/windows.networking.connectivity/windows.networking.connectivity_main.c
|
||||
index 96ff0ea5af2..2463cc2c93c 100644
|
||||
index b6d4561c493..219170366be 100644
|
||||
--- a/dlls/windows.networking.connectivity/windows.networking.connectivity_main.c
|
||||
+++ b/dlls/windows.networking.connectivity/windows.networking.connectivity_main.c
|
||||
@@ -22,6 +22,102 @@ static const char *debugstr_hstring(HSTRING hstr)
|
||||
return wine_dbgstr_wn(str, len);
|
||||
}
|
||||
@@ -13,6 +13,102 @@
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(network);
|
||||
|
||||
+struct windows_networking_connectivity
|
||||
+{
|
||||
@ -118,7 +118,7 @@ index 96ff0ea5af2..2463cc2c93c 100644
|
||||
HRESULT WINAPI DllGetClassObject(REFCLSID clsid, REFIID riid, LPVOID *object)
|
||||
{
|
||||
FIXME("clsid %s, riid %s, object %p stub!\n", debugstr_guid(clsid), debugstr_guid(riid), object);
|
||||
@@ -30,6 +126,8 @@ HRESULT WINAPI DllGetClassObject(REFCLSID clsid, REFIID riid, LPVOID *object)
|
||||
@@ -21,6 +117,8 @@ HRESULT WINAPI DllGetClassObject(REFCLSID clsid, REFIID riid, LPVOID *object)
|
||||
|
||||
HRESULT WINAPI DllGetActivationFactory(HSTRING classid, IActivationFactory **factory)
|
||||
{
|
||||
@ -132,5 +132,5 @@ index 96ff0ea5af2..2463cc2c93c 100644
|
||||
+ return S_OK;
|
||||
+}
|
||||
--
|
||||
2.30.2
|
||||
2.40.1
|
||||
|
||||
|
@ -1 +1 @@
|
||||
3d28f9d362e6d9871747231b210c559536bb6dd4
|
||||
f4a8ad89d43646a8d109da5747dfb1a92a6d8cd1
|
||||
|
Loading…
Reference in New Issue
Block a user