Rebase against 06e68ff6613042e78a5dd4b9066713d9beab0c6d.

This commit is contained in:
Sebastian Lackner 2015-08-07 20:07:29 +02:00
parent 4a9653f221
commit 6f3699d87e
9 changed files with 59 additions and 115 deletions

View File

@ -211,7 +211,7 @@ for more details.*
* Multiple applications need EnumDisplayDevicesW implementation ([Wine Bug #34978](https://bugs.winehq.org/show_bug.cgi?id=34978))
* ~~Multiple applications needs better NtQueryInformationJobObject stub~~
* Need for Speed 3 installer requires devices in HKEY_DYN_DATA ([Wine Bug #7115](https://bugs.winehq.org/show_bug.cgi?id=7115))
* Only send WM_DROPFILES when OLE dnd fails ([Wine Bug #29081](https://bugs.winehq.org/show_bug.cgi?id=29081))
* ~~Only send WM_DROPFILES when OLE dnd fails~~ ([Wine Bug #29081](https://bugs.winehq.org/show_bug.cgi?id=29081))
* Other Pipelight-specific enhancements
* Port Royale doesn't display ocean correctly ([Wine Bug #17913](https://bugs.winehq.org/show_bug.cgi?id=17913))
* Prevent window managers from grouping all wine programs together ([Wine Bug #32699](https://bugs.winehq.org/show_bug.cgi?id=32699))

2
debian/changelog vendored
View File

@ -17,6 +17,8 @@ wine-staging (1.7.49) UNRELEASED; urgency=low
* Removed patch for implementation of dbghelp.UnDecorateSymbolNameW (accepted
upstream).
* Removed patch for dynamic work scheduling in vcomp.dll (accepted upstream).
* Removed patch to send WM_DROPFILES only when OLE dnd fails (accepted
upstream).
-- Sebastian Lackner <sebastian@fds-team.de> Wed, 29 Jul 2015 22:52:46 +0200
wine-staging (1.7.48) unstable; urgency=low

View File

@ -1,4 +1,4 @@
From 2a70588bac94b67bec1799479b6bc9673a15eb4f Mon Sep 17 00:00:00 2001
From cce067c7f0dbb9e4dda812a3350e88f39b66b33e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Fri, 17 Apr 2015 14:39:17 +0200
Subject: mfplat: Implement MFTRegister.
@ -21,15 +21,17 @@ index 2b5bd24..9679f53 100644
C_SRCS = \
main.c
diff --git a/dlls/mfplat/main.c b/dlls/mfplat/main.c
index 3376a2c..34f17ee 100644
index 698c681..c72d951 100644
--- a/dlls/mfplat/main.c
+++ b/dlls/mfplat/main.c
@@ -22,13 +22,42 @@
@@ -23,15 +23,44 @@
#include "windef.h"
#include "winbase.h"
+#include "winuser.h"
+#include "winreg.h"
#include "initguid.h"
#include "mfapi.h"
#include "mferror.h"
@ -67,7 +69,7 @@ index 3376a2c..34f17ee 100644
BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, LPVOID reserved)
{
switch (reason)
@@ -43,6 +72,121 @@ BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, LPVOID reserved)
@@ -46,6 +75,121 @@ BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, LPVOID reserved)
return TRUE;
}

View File

@ -55,7 +55,7 @@ version()
echo "Copyright (C) 2014-2015 the Wine Staging project authors."
echo ""
echo "Patchset to be applied on upstream Wine:"
echo " commit 813368481679a5848bc715d1e181782de157485f"
echo " commit 06e68ff6613042e78a5dd4b9066713d9beab0c6d"
echo ""
}
@ -266,7 +266,6 @@ patch_enable_all ()
enable_winepulse_PulseAudio_Support="$1"
enable_winex11_CandidateWindowPos="$1"
enable_winex11_Clipboard_HTML="$1"
enable_winex11_DragAndDrop="$1"
enable_winex11_Window_Groups="$1"
enable_winex11_Window_Style="$1"
enable_winex11_XEMBED="$1"
@ -873,9 +872,6 @@ patch_enable ()
winex11-Clipboard_HTML)
enable_winex11_Clipboard_HTML="$2"
;;
winex11-DragAndDrop)
enable_winex11_DragAndDrop="$2"
;;
winex11-Window_Groups)
enable_winex11_Window_Groups="$2"
;;
@ -5459,21 +5455,6 @@ if test "$enable_winex11_Clipboard_HTML" -eq 1; then
) >> "$patchlist"
fi
# Patchset winex11-DragAndDrop
# |
# | This patchset fixes the following Wine bugs:
# | * [#29081] Only send WM_DROPFILES when OLE dnd fails
# |
# | Modified files:
# | * dlls/winex11.drv/xdnd.c
# |
if test "$enable_winex11_DragAndDrop" -eq 1; then
patch_apply winex11-DragAndDrop/0001-winex11.drv-Only-send-WM_DROPFILES-when-OLE-dnd-fail.patch
(
echo '+ { "Damjan Jovanovic", "winex11.drv: Only send WM_DROPFILES when OLE dnd fails.", 1 },';
) >> "$patchlist"
fi
# Patchset winex11-Window_Groups
# |
# | This patchset fixes the following Wine bugs:

View File

@ -1,4 +1,4 @@
From f53a2f40f946d8e6c9d36de24010dc9d2f324de1 Mon Sep 17 00:00:00 2001
From 994d4c154e7017344ddf8ba6403a9c02ca177b4f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
Date: Thu, 10 Oct 2013 16:43:19 +0200
Subject: wined3d: Create the initial context through the CS.
@ -11,10 +11,10 @@ Very hacky.
3 files changed, 103 insertions(+), 53 deletions(-)
diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
index fb1d1aa..3662432 100644
index 97281c8..a643b84 100644
--- a/dlls/wined3d/cs.c
+++ b/dlls/wined3d/cs.c
@@ -88,6 +88,7 @@ enum wined3d_cs_op
@@ -89,6 +89,7 @@ enum wined3d_cs_op
WINED3D_CS_OP_SURFACE_CLEANUP,
WINED3D_CS_OP_TEXTURE_CLEANUP,
WINED3D_CS_OP_CREATE_DUMMY_TEXTURES,
@ -22,7 +22,7 @@ index fb1d1aa..3662432 100644
WINED3D_CS_OP_STOP,
};
@@ -518,6 +519,13 @@ struct wined3d_cs_create_dummy_textures
@@ -528,6 +529,13 @@ struct wined3d_cs_create_dummy_textures
enum wined3d_cs_op opcode;
};
@ -36,7 +36,7 @@ index fb1d1aa..3662432 100644
static void wined3d_cs_mt_submit(struct wined3d_cs *cs, size_t size)
{
LONG new_val = (cs->queue.head + size) & (WINED3D_CS_QUEUE_SIZE - 1);
@@ -2501,6 +2509,31 @@ void wined3d_cs_emit_create_dummy_textures(struct wined3d_cs *cs)
@@ -2615,6 +2623,31 @@ void wined3d_cs_emit_create_dummy_textures(struct wined3d_cs *cs)
cs->ops->finish(cs);
}
@ -68,7 +68,7 @@ index fb1d1aa..3662432 100644
static UINT (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void *data) =
{
/* WINED3D_CS_OP_NOP */ wined3d_cs_exec_nop,
@@ -2567,6 +2600,7 @@ static UINT (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void
@@ -2682,6 +2715,7 @@ static UINT (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void
/* WINED3D_CS_OP_SURFACE_CLEANUP */ wined3d_cs_exec_surface_cleanup,
/* WINED3D_CS_OP_TEXTURE_CLEANUP */ wined3d_cs_exec_texture_cleanup,
/* WINED3D_CS_OP_CREATE_DUMMY_TEXTURES */ wined3d_cs_exec_create_dummy_textures,
@ -77,10 +77,10 @@ index fb1d1aa..3662432 100644
static inline void *_wined3d_cs_mt_require_space(struct wined3d_cs *cs, size_t size, BOOL prio)
diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c
index 0a7b68d..8b9b13c 100644
index d2e2c05..d72eb8a 100644
--- a/dlls/wined3d/swapchain.c
+++ b/dlls/wined3d/swapchain.c
@@ -723,6 +723,69 @@ void swapchain_update_render_to_fbo(struct wined3d_swapchain *swapchain)
@@ -723,6 +723,69 @@ static void swapchain_update_render_to_fbo(struct wined3d_swapchain *swapchain)
swapchain->render_to_fbo = TRUE;
}
@ -214,10 +214,10 @@ index 0a7b68d..8b9b13c 100644
if (swapchain->desc.backbuffer_count > 0)
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index a4e1886..ab38f0e 100644
index fa5f6d8..b16dae9 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -2716,6 +2716,8 @@ void wined3d_cs_emit_volume_cleanup(struct wined3d_cs *cs, struct wined3d_volume
@@ -2804,6 +2804,8 @@ void wined3d_cs_emit_volume_cleanup(struct wined3d_cs *cs, struct wined3d_volume
void wined3d_cs_emit_surface_cleanup(struct wined3d_cs *cs, struct wined3d_surface *surface) DECLSPEC_HIDDEN;
void wined3d_cs_emit_texture_cleanup(struct wined3d_cs *cs, struct wined3d_texture *texture) DECLSPEC_HIDDEN;
void wined3d_cs_emit_create_dummy_textures(struct wined3d_cs *cs) DECLSPEC_HIDDEN;
@ -226,15 +226,15 @@ index a4e1886..ab38f0e 100644
/* Direct3D terminology with little modifications. We do not have an issued state
* because only the driver knows about it, but we have a created state because d3d
@@ -2900,6 +2902,8 @@ void swapchain_destroy_contexts(struct wined3d_swapchain *swapchain) DECLSPEC_HI
@@ -2988,6 +2990,8 @@ struct wined3d_context *swapchain_get_context(struct wined3d_swapchain *swapchai
void swapchain_destroy_contexts(struct wined3d_swapchain *swapchain) DECLSPEC_HIDDEN;
HDC swapchain_get_backup_dc(struct wined3d_swapchain *swapchain) DECLSPEC_HIDDEN;
void swapchain_update_draw_bindings(struct wined3d_swapchain *swapchain) DECLSPEC_HIDDEN;
void swapchain_update_render_to_fbo(struct wined3d_swapchain *swapchain) DECLSPEC_HIDDEN;
+HRESULT swapchain_create_context_cs(struct wined3d_device *device,
+ struct wined3d_swapchain *swapchain) DECLSPEC_HIDDEN;
/*****************************************************************************
* Utility function prototypes
--
2.1.3
2.5.0

View File

@ -1,4 +1,4 @@
From 08dd8c4b88837bd88c112f831b589d81339cd286 Mon Sep 17 00:00:00 2001
From be5885b9e5a4f9a8dd659a0b26d829844e232ffe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
Date: Fri, 29 Aug 2014 14:46:19 +0200
Subject: wined3d: Make sure the new window is set up before setting up a
@ -9,10 +9,10 @@ Subject: wined3d: Make sure the new window is set up before setting up a
1 file changed, 21 insertions(+), 10 deletions(-)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index b5ce2c3..63eb87e 100644
index 563b6f0..eb5aa4c 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -4269,6 +4269,27 @@ HRESULT CDECL wined3d_device_reset(struct wined3d_device *device,
@@ -4381,6 +4381,27 @@ HRESULT CDECL wined3d_device_reset(struct wined3d_device *device,
}
}
@ -37,12 +37,12 @@ index b5ce2c3..63eb87e 100644
+ }
+ device->cs->ops->finish(device->cs);
+
/* Is it necessary to recreate the gl context? Actually every setting can be changed
* on an existing gl context, so there's no real need for recreation.
*
@@ -4404,11 +4425,6 @@ HRESULT CDECL wined3d_device_reset(struct wined3d_device *device,
}
}
TRACE("New params:\n");
TRACE("backbuffer_width %u\n", swapchain_desc->backbuffer_width);
TRACE("backbuffer_height %u\n", swapchain_desc->backbuffer_height);
@@ -4507,11 +4528,6 @@ HRESULT CDECL wined3d_device_reset(struct wined3d_device *device,
swapchain_desc->multisample_type, swapchain_desc->multisample_quality)))
return hr;
- if (device->auto_depth_stencil_view)
- {
@ -52,7 +52,7 @@ index b5ce2c3..63eb87e 100644
if (swapchain->desc.enable_auto_depth_stencil)
{
struct wined3d_resource_desc surface_desc;
@@ -4446,11 +4462,6 @@ HRESULT CDECL wined3d_device_reset(struct wined3d_device *device,
@@ -4549,11 +4565,6 @@ HRESULT CDECL wined3d_device_reset(struct wined3d_device *device,
wined3d_device_set_depth_stencil_view(device, device->auto_depth_stencil_view);
}
@ -65,5 +65,5 @@ index b5ce2c3..63eb87e 100644
surface_from_resource(wined3d_texture_get_sub_resource(swapchain->back_buffers[0], 0)),
NULL, &wined3d_null_parent_ops, &device->back_buffer_view)))
--
2.1.3
2.5.0

View File

@ -2333,10 +2333,10 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
};
struct wined3d_swapchain
@@ -3004,8 +3229,10 @@
@@ -3003,8 +3228,10 @@
void swapchain_destroy_contexts(struct wined3d_swapchain *swapchain) DECLSPEC_HIDDEN;
HDC swapchain_get_backup_dc(struct wined3d_swapchain *swapchain) DECLSPEC_HIDDEN;
void swapchain_update_draw_bindings(struct wined3d_swapchain *swapchain) DECLSPEC_HIDDEN;
void swapchain_update_render_to_fbo(struct wined3d_swapchain *swapchain) DECLSPEC_HIDDEN;
+#if defined(STAGING_CSMT)
HRESULT swapchain_create_context_cs(struct wined3d_device *device,
struct wined3d_swapchain *swapchain) DECLSPEC_HIDDEN;
@ -2344,7 +2344,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
/*****************************************************************************
* Utility function prototypes
@@ -3209,7 +3436,9 @@
@@ -3208,7 +3435,9 @@
void shader_generate_main(const struct wined3d_shader *shader, struct wined3d_string_buffer *buffer,
const struct wined3d_shader_reg_maps *reg_maps, const DWORD *byte_code, void *backend_ctx) DECLSPEC_HIDDEN;
BOOL shader_match_semantic(const char *semantic_name, enum wined3d_decl_usage usage) DECLSPEC_HIDDEN;
@ -4347,7 +4347,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
return WINED3D_OK;
}
@@ -4331,8 +4966,10 @@
@@ -4327,8 +4962,10 @@
unsigned int i;
TRACE("device %p, swapchain_desc %p, mode %p, callback %p.\n", device, swapchain_desc, mode, callback);
@ -4358,7 +4358,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
if (!(swapchain = wined3d_device_get_swapchain(device, 0)))
{
@@ -4348,9 +4985,21 @@
@@ -4344,9 +4981,21 @@
wined3d_texture_decref(device->logo_texture);
device->logo_texture = NULL;
}
@ -4380,7 +4380,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
{
for (i = 0; i < device->adapter->gl_info.limits.buffers; ++i)
{
@@ -4359,6 +5008,7 @@
@@ -4355,6 +5004,7 @@
}
wined3d_device_set_depth_stencil_view(device, NULL);
@ -4388,7 +4388,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
if (reset_state)
{
state_unbind_resources(&device->state);
@@ -4368,6 +5018,12 @@
@@ -4364,6 +5014,12 @@
{
wined3d_surface_decref(device->cs->onscreen_depth_stencil);
device->cs->onscreen_depth_stencil = NULL;
@ -4401,7 +4401,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
}
if (reset_state)
@@ -4380,6 +5036,7 @@
@@ -4376,6 +5032,7 @@
}
}
@ -4409,17 +4409,17 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
/* Free implicit resources and wait for the command stream before modifying
* swapchain parameters. After modifying the swapchain parameters a new GL
* context may be acquired by the worker thread. This causes problems in the
@@ -4401,6 +5058,7 @@
@@ -4397,6 +5054,7 @@
}
device->cs->ops->finish(device->cs);
+#endif /* STAGING_CSMT */
/* Is it necessary to recreate the gl context? Actually every setting can be changed
* on an existing gl context, so there's no real need for recreation.
*
@@ -4542,6 +5200,13 @@
}
}
TRACE("New params:\n");
TRACE("backbuffer_width %u\n", swapchain_desc->backbuffer_width);
TRACE("backbuffer_height %u\n", swapchain_desc->backbuffer_height);
@@ -4523,6 +5181,13 @@
swapchain_desc->multisample_type, swapchain_desc->multisample_quality)))
return hr;
+#if !defined(STAGING_CSMT)
+ if (device->auto_depth_stencil_view)
@ -4431,7 +4431,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
if (swapchain->desc.enable_auto_depth_stencil)
{
struct wined3d_resource_desc surface_desc;
@@ -4579,6 +5244,13 @@
@@ -4560,6 +5225,13 @@
wined3d_device_set_depth_stencil_view(device, device->auto_depth_stencil_view);
}
@ -4445,7 +4445,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
if (swapchain->desc.backbuffer_count && FAILED(hr = wined3d_rendertarget_view_create_from_surface(
surface_from_resource(wined3d_texture_get_sub_resource(swapchain->back_buffers[0], 0)),
NULL, &wined3d_null_parent_ops, &device->back_buffer_view)))
@@ -4661,12 +5333,20 @@
@@ -4580,12 +5252,20 @@
}
wined3d_cs_emit_reset_state(device->cs);
state_cleanup(&device->state);
@ -4466,7 +4466,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
&device->adapter->d3d_info, WINED3D_STATE_INIT_DEFAULT)))
ERR("Failed to initialize device state, hr %#x.\n", hr);
device->update_state = &device->state;
@@ -4675,6 +5355,7 @@
@@ -4594,6 +5274,7 @@
}
else if (device->back_buffer_view)
{
@ -4474,7 +4474,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
struct wined3d_state *state = &device->state;
wined3d_device_set_rendertarget_view(device, 0, device->back_buffer_view, FALSE);
@@ -4690,6 +5371,24 @@
@@ -4609,6 +5290,24 @@
state->scissor_rect.left = 0;
state->scissor_rect.right = swapchain->desc.backbuffer_width;
state->scissor_rect.bottom = swapchain->desc.backbuffer_height;
@ -4499,7 +4499,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
wined3d_cs_emit_set_scissor_rect(device->cs, &state->scissor_rect);
}
@@ -4768,6 +5467,10 @@
@@ -4684,6 +5383,10 @@
TRACE("device %p, resource %p, type %s.\n", device, resource, debug_d3dresourcetype(type));
@ -4510,7 +4510,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
switch (type)
{
case WINED3D_RTYPE_SURFACE:
@@ -4778,6 +5481,7 @@
@@ -4694,6 +5397,7 @@
for (i = 0; i < device->adapter->gl_info.limits.buffers; ++i)
{
@ -4518,7 +4518,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
if (wined3d_rendertarget_view_get_surface(device->state.fb.render_targets[i]) == surface)
{
ERR("Surface %p is still in use as render target %u.\n", surface, i);
@@ -4789,6 +5493,19 @@
@@ -4705,6 +5409,19 @@
{
ERR("Surface %p is still in use as depth/stencil buffer.\n", surface);
device->state.fb.depth_stencil = NULL;
@ -4538,7 +4538,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
}
}
break;
@@ -4951,7 +5668,11 @@
@@ -4867,7 +5584,11 @@
device->blitter = adapter->blitter;
@ -4550,7 +4550,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
&adapter->d3d_info, WINED3D_STATE_INIT_DEFAULT)))
{
ERR("Failed to initialize device state, hr %#x.\n", hr);
@@ -5050,6 +5771,7 @@
@@ -4966,6 +5687,7 @@
else
return CallWindowProcA(proc, window, message, wparam, lparam);
}
@ -4558,7 +4558,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
/* Context activation is done by the caller */
struct wined3d_gl_bo *wined3d_device_get_bo(struct wined3d_device *device, UINT size, GLenum gl_usage,
@@ -5103,3 +5825,4 @@
@@ -5019,3 +5741,4 @@
wined3d_device_destroy_bo(device, context, bo);
}

View File

@ -1,40 +0,0 @@
From f9febc3f5b77bb466f0173fbdb74d2a165038382 Mon Sep 17 00:00:00 2001
From: Damjan Jovanovic <damjan.jov@gmail.com>
Date: Sat, 13 Jun 2015 00:59:15 +0200
Subject: winex11.drv: Only send WM_DROPFILES when OLE dnd fails.
---
dlls/winex11.drv/xdnd.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/dlls/winex11.drv/xdnd.c b/dlls/winex11.drv/xdnd.c
index f6ce5e9..e660316 100644
--- a/dlls/winex11.drv/xdnd.c
+++ b/dlls/winex11.drv/xdnd.c
@@ -378,10 +378,6 @@ void X11DRV_XDND_DropEvent( HWND hWnd, XClientMessageEvent *event )
TRACE("\n");
- /* If we have a HDROP type we send a WM_ACCEPTFILES.*/
- if (GetWindowLongW( hWnd, GWL_EXSTYLE ) & WS_EX_ACCEPTFILES)
- X11DRV_XDND_SendDropFiles( hWnd );
-
/* Notify OLE of Drop */
dropTarget = get_droptarget_pointer(XDNDLastDropTargetWnd);
if (dropTarget)
@@ -407,6 +403,12 @@ void X11DRV_XDND_DropEvent( HWND hWnd, XClientMessageEvent *event )
WARN("drop failed, error 0x%08X\n", hr);
IDropTarget_Release(dropTarget);
}
+ else
+ {
+ /* If we have a HDROP type we send a WM_ACCEPTFILES.*/
+ if (GetWindowLongW( hWnd, GWL_EXSTYLE ) & WS_EX_ACCEPTFILES)
+ X11DRV_XDND_SendDropFiles( hWnd );
+ }
X11DRV_XDND_FreeDragDropOp();
--
2.4.2

View File

@ -1 +0,0 @@
Fixes: [29081] Only send WM_DROPFILES when OLE dnd fails