Module: wine
Branch: master
Commit: 35a8bf0e1e9966596eb0fbb15cd61c3cd44479bc
URL: http://source.winehq.org/git/wine.git/?a=commit;h=35a8bf0e1e9966596eb0fbb15…
Author: Henri Verbeet <hverbeet(a)codeweavers.com>
Date: Fri Aug 30 08:42:44 2013 +0200
wined3d: Move the buffer flags to buffer.c.
---
dlls/wined3d/buffer.c | 8 ++++++++
dlls/wined3d/wined3d_private.h | 8 --------
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
index ba54e93..921111c 100644
--- a/dlls/wined3d/buffer.c
+++ b/dlls/wined3d/buffer.c
@@ -29,6 +29,14 @@
WINE_DEFAULT_DEBUG_CHANNEL(d3d);
+#define WINED3D_BUFFER_HASDESC 0x01 /* A vertex description has been found. */
+#define WINED3D_BUFFER_CREATEBO 0x02 /* Create a buffer object for this buffer. */
+#define WINED3D_BUFFER_DOUBLEBUFFER 0x04 /* Keep both a buffer object and a system memory copy for this buffer. */
+#define WINED3D_BUFFER_FLUSH 0x08 /* Manual unmap flushing. */
+#define WINED3D_BUFFER_DISCARD 0x10 /* A DISCARD lock has occurred since the last preload. */
+#define WINED3D_BUFFER_NOSYNC 0x20 /* All locks since the last preload had NOOVERWRITE set. */
+#define WINED3D_BUFFER_APPLESYNC 0x40 /* Using sync as in GL_APPLE_flush_buffer_range. */
+
#define VB_MAXDECLCHANGES 100 /* After that number of decl changes we stop converting */
#define VB_RESETDECLCHANGE 1000 /* Reset the decl changecount after that number of draws */
#define VB_MAXFULLCONVERSIONS 5 /* Number of full conversions before we stop converting */
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 17c0a0a..05a6250 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -2491,14 +2491,6 @@ struct wined3d_map_range
UINT size;
};
-#define WINED3D_BUFFER_HASDESC 0x01 /* A vertex description has been found. */
-#define WINED3D_BUFFER_CREATEBO 0x02 /* Create a buffer object for this buffer. */
-#define WINED3D_BUFFER_DOUBLEBUFFER 0x04 /* Keep both a buffer object and a system memory copy for this buffer. */
-#define WINED3D_BUFFER_FLUSH 0x08 /* Manual unmap flushing. */
-#define WINED3D_BUFFER_DISCARD 0x10 /* A DISCARD lock has occurred since the last preload. */
-#define WINED3D_BUFFER_NOSYNC 0x20 /* All locks since the last preload had NOOVERWRITE set. */
-#define WINED3D_BUFFER_APPLESYNC 0x40 /* Using sync as in GL_APPLE_flush_buffer_range. */
-
struct wined3d_buffer
{
struct wined3d_resource resource;
Module: wine
Branch: master
Commit: b550ee8d59d5568ab04e86ea80ebd39af8452683
URL: http://source.winehq.org/git/wine.git/?a=commit;h=b550ee8d59d5568ab04e86ea8…
Author: Ken Thomases <ken(a)codeweavers.com>
Date: Fri Aug 30 00:00:38 2013 -0500
winemac: On click, don't reorder Cocoa child window after siblings of higher level.
It may be necessary to reorder to some extent because the clicked window is
behind a sibling at the same level, but that shouldn't move it later in the
list than higher-level siblings.
Cocoa gets buggy if the list of child windows isn't in z-order.
---
dlls/winemac.drv/cocoa_app.m | 24 ++++++++++++++++++++++++
1 files changed, 24 insertions(+), 0 deletions(-)
diff --git a/dlls/winemac.drv/cocoa_app.m b/dlls/winemac.drv/cocoa_app.m
index 4cb09e7..615a9ab 100644
--- a/dlls/winemac.drv/cocoa_app.m
+++ b/dlls/winemac.drv/cocoa_app.m
@@ -1482,6 +1482,7 @@ int macdrv_err_on;
NSWindow* parent = [window parentWindow];
NSInteger level = [window level];
__block BOOL needReorder = FALSE;
+ NSMutableArray* higherLevelSiblings = [NSMutableArray array];
// If the window is already the last child or if it's only below
// children with higher window level, then no need to reorder it.
@@ -1495,12 +1496,35 @@ int macdrv_err_on;
needReorder = TRUE;
*stop = TRUE;
}
+ else
+ [higherLevelSiblings insertObject:child atIndex:0];
}];
if (needReorder)
{
+ WineWindow* sibling;
+
+ NSDisableScreenUpdates();
+
[parent removeChildWindow:window];
+ for (sibling in higherLevelSiblings)
+ [parent removeChildWindow:sibling];
+
[parent addChildWindow:window ordered:NSWindowAbove];
+ for (sibling in higherLevelSiblings)
+ {
+ // Setting a window as a child can reset its level to be
+ // the same as the parent, so save it and restore it.
+ // The call to -setLevel: puts the window at the front
+ // of its level but testing shows that that's what Cocoa
+ // does when you click on any window in an ownership
+ // hierarchy, anyway.
+ level = [sibling level];
+ [parent addChildWindow:sibling ordered:NSWindowAbove];
+ [sibling setLevel:level];
+ }
+
+ NSEnableScreenUpdates();
}
}
}