Commit graph

167 commits

Author SHA1 Message Date
Marcian Lytwyn
09301e648c Fix GDI leak in window create
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@36649 72102866-910b-0410-8b05-ffd578937521
2013-05-19 19:45:05 +00:00
Marcian Lytwyn
5006663d2d Wrap WIN32 server call to windowEventProc with an autorelease pool to avoid holding window surfaces causing memory issues
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@36609 72102866-910b-0410-8b05-ffd578937521
2013-05-10 01:21:18 +00:00
Marcian Lytwyn
acf6d13308 Window IME generic updates for handling korean, japanese, etc
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@36055 72102866-910b-0410-8b05-ffd578937521
2013-02-01 17:41:23 +00:00
Marcian Lytwyn
fbb6f1257d Fix: restrict keyboard input during global mouse capture
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@36050 72102866-910b-0410-8b05-ffd578937521
2013-01-31 16:25:51 +00:00
Marcian Lytwyn
896657c562 Fix: use boolForKey instead of objectForKey
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@36049 72102866-910b-0410-8b05-ffd578937521
2013-01-31 14:58:25 +00:00
Marcian Lytwyn
9e3bd1f431 Update for windows system cursor processing
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@36048 72102866-910b-0410-8b05-ffd578937521
2013-01-31 14:54:37 +00:00
Marcian Lytwyn
3390d6a6b9 Update for handling mouse capture/release and system cursors
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@36043 72102866-910b-0410-8b05-ffd578937521
2013-01-30 22:23:32 +00:00
Marcian Lytwyn
46d6bb5fa4 BETA VERSION - NOT FINISHED - SYSTEM MOUSE CURSOR TRACKING
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@36036 72102866-910b-0410-8b05-ffd578937521
2013-01-29 23:42:10 +00:00
Marcian Lytwyn
1c5a0d1e0a Fix cross-hair on magnifier in color panel
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35996 72102866-910b-0410-8b05-ffd578937521
2013-01-18 01:29:06 +00:00
Marcian Lytwyn
a91ebbd8b8 Add cursor and screen capture functionality to windows backend for color panel support
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35995 72102866-910b-0410-8b05-ffd578937521
2013-01-17 23:09:35 +00:00
Marcian Lytwyn
809c91a6c1 Allow a non-composing character to terminate the IME composing sequence
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35986 72102866-910b-0410-8b05-ffd578937521
2013-01-16 16:07:42 +00:00
Marcian Lytwyn
9c1c78273c IME composition fix for mis-handling of last character sequence
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35984 72102866-910b-0410-8b05-ffd578937521
2013-01-15 21:53:54 +00:00
Marcian Lytwyn
57f71dadc3 First pass - in-window IME character composition for MSWindows
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35983 72102866-910b-0410-8b05-ffd578937521
2013-01-15 17:02:18 +00:00
Doug Simons
2a6477c928 Fix a bug that could cause a modal run loop to lock up if the modal window is closed by clicking the close button.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35948 72102866-910b-0410-8b05-ffd578937521
2013-01-11 03:12:56 +00:00
Marcian Lytwyn
25d6855dc0 Merge back with main branch
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35814 72102866-910b-0410-8b05-ffd578937521
2012-11-21 20:58:07 +00:00
Marcian Lytwyn
aae0f7748c Merge back with main branch
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35813 72102866-910b-0410-8b05-ffd578937521
2012-11-21 20:53:22 +00:00
Marcian Lytwyn
f018376f12 Updates for MSWindows IME keyboard processing
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35793 72102866-910b-0410-8b05-ffd578937521
2012-11-14 19:06:57 +00:00
Doug Simons
9c3739a27a Fix findWindowAt:windowRef:excluding: to skip windows with the ignoresMouseEvents property set.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35735 72102866-910b-0410-8b05-ffd578937521
2012-10-25 04:07:30 +00:00
Marcian Lytwyn
aa519f55a8 Additional updates for windows backend
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35707 72102866-910b-0410-8b05-ffd578937521
2012-10-17 20:08:34 +00:00
Marcian Lytwyn
30941f5681 TEMPORARY update for cairo - remove logs
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35668 72102866-910b-0410-8b05-ffd578937521
2012-10-11 20:53:36 +00:00
Marcian Lytwyn
9b0f83a5d9 TEMPORARY updates for cairo processing on MSWindows
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35666 72102866-910b-0410-8b05-ffd578937521
2012-10-11 20:40:21 +00:00
Jonathan Gillaspie
86c6036739 Fix for fatal exceptions when a nil mouse event tried to post
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35665 72102866-910b-0410-8b05-ffd578937521
2012-10-10 21:42:14 +00:00
Marcian Lytwyn
0cfb23088f Yet another temporary fix for cairo window expose method
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35576 72102866-910b-0410-8b05-ffd578937521
2012-09-19 18:06:44 +00:00
Marcian Lytwyn
a63d526943 TEMPORARY FIX for borderless windows i.e. WS_POPUP types
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35540 72102866-910b-0410-8b05-ffd578937521
2012-09-07 20:04:11 +00:00
Marcian Lytwyn
001e3307ec attempt to fix WS_POPUP showing up immediately on Windows 7
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35535 72102866-910b-0410-8b05-ffd578937521
2012-09-06 22:43:12 +00:00
Marcian Lytwyn
7a892f25ce Fix outstanding Win32 cairo code and configure issues
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35478 72102866-910b-0410-8b05-ffd578937521
2012-08-29 21:34:21 +00:00
Marcian Lytwyn
c276a5d4d0 Cairo win32 fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35373 72102866-910b-0410-8b05-ffd578937521
2012-08-08 22:27:23 +00:00
Marcian Lytwyn
643bedc834 Cairo win32 fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35372 72102866-910b-0410-8b05-ffd578937521
2012-08-08 22:26:52 +00:00
Marcian Lytwyn
999c436296 Added Win32 multi-screen support lookup
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35240 72102866-910b-0410-8b05-ffd578937521
2012-06-27 17:59:11 +00:00
Eric Wasylishen
337ce46bba * Source/win32/WIN32Server.m (-resolutionForScreen:):
Scale the result by 0.75 so the Windows default of 96 DPI is
mapped to the GNUstep default of 72 DPI. While this sounds wrong,
72 and 96 are just "virtual" DPI's; both mean 1 point = 1 pixel,
so it's actually the right thing to do.
* Source/x11/XGServerWindow.m (-resolutionForScreen:):
Comment out the implementation and just return 72 for now,
because I'm not sure if we can trust the value the X server
gives us.

NOTE: Currently -gui ignores these methods and only looks at the
GSScaleFactor user default. I'm going to make -gui use the server
values now, because it's safe to do so on Windows (the system
DPI is set by the user, and affects all applications.)

NOTE: We might consider refactoring these methods to be called
scaleFactorForScreen: to make it clearer what they do.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33658 72102866-910b-0410-8b05-ffd578937521
2011-07-30 20:39:10 +00:00
Fred Kiefer
8913452ffc Change the way the image for the cursor gets passed on to the backend.
The old way could only work for 8 bit data.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@32492 72102866-910b-0410-8b05-ffd578937521
2011-03-07 19:45:20 +00:00
Fred Kiefer
5125141980 Implement the ne cursor backend methods.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@32180 72102866-910b-0410-8b05-ffd578937521
2011-02-15 22:54:51 +00:00
Jonathan Gillaspie
15f3adb397 * Source/win32/WIN32Server.m: Added better logging on Window create and destroy errors.
Added a secondary call to get current mouse position if the first call fails.	
* Source/win32/w32_text_focus.m: Cast parameter to appropriate (HWND) type.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@31718 72102866-910b-0410-8b05-ffd578937521
2010-12-08 22:59:05 +00:00
Eric Wasylishen
282a590ad5 core/back: replace objc_{malloc/free} with malloc/free
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@31629 72102866-910b-0410-8b05-ffd578937521
2010-11-18 20:28:15 +00:00
Eric Wasylishen
1c986457b5 back/win32: revert r31206
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@31324 72102866-910b-0410-8b05-ffd578937521
2010-09-10 22:45:12 +00:00
Eric Wasylishen
d41e797bfd * Source/win32/WIN32Server.m: Only show taskbar buttons for windows
which satisfy both:

- style mask isn't NSBorderlessWindowMask
- style mask don't have NSUtilityWindowMask set

Should fix bug 30911

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@31212 72102866-910b-0410-8b05-ffd578937521
2010-08-30 22:00:09 +00:00
Eric Wasylishen
24eff104fa * Source/win32/w32_activate.m: Call -[NSApp deactivate] in response
to a WM_ACTIVEAPPP message reporting that the app lost focus.

This delivers NSApplicationWillResignActiveNotification
and NSApplicationDidResignActiveNotification, hides panels, etc.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@31206 72102866-910b-0410-8b05-ffd578937521
2010-08-30 05:53:30 +00:00
Eric Wasylishen
bdc97710e0 * Source/win32/WIN32Server.m: Handle Page Down and Page Up keys,
as well as adding a few others.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@31200 72102866-910b-0410-8b05-ffd578937521
2010-08-25 17:03:38 +00:00
Eric Wasylishen
b7ff3b2973 * Headers/win32/WIN32Server.h:
* Source/win32/WIN32Server.m:
* Source/win32/w32_movesize.m:
Fix a rather serious error where the extra window data was allocated
in two places (allocated with objc_malloc in the WM_CREATE handler,
and also allocated by Windows using the cbWndExtra field of the window
class structure). Sometimes the window level was accessed from one
memory area and sometimes from the other.
	
This is a quick fix that leaves the level and ordered properties
in the cbWndExtra area, and the rest is left in the WIN_INTERN
structure. 

This fixes the problem where window ordering was broken when running
apps in gdb.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@31198 72102866-910b-0410-8b05-ffd578937521
2010-08-25 04:20:45 +00:00
Eric Wasylishen
d963ba552d Source/win32/WIN32Server.m (-setmaxsize::): Remove the maximize box when a maximum size is set on a window.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@31197 72102866-910b-0410-8b05-ffd578937521
2010-08-24 23:20:01 +00:00
Eric Wasylishen
a2716081f5 back/win32:
Only look at NSUtilityWindowMask to decide whether to use a thin-
style title bar (WS_EX_TOOLWINDOW).

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@31080 72102866-910b-0410-8b05-ffd578937521
2010-08-04 04:57:04 +00:00
Fred Kiefer
5d8d6e9138 * Source/win32/WIN32Server.m,
* Source/x11/XGServerEvent.m: Use NSDeleteCharacter instead of
        NSBackSpaceCharacter for the backspace key. This is what Cocoa
and
        OpenStep have been doing all the time.
        Also use NSBackTabCharacter on X11 when XK_ISO_Left_Tab is
        pressed, but don't convert shift-tab into NSBackTabCharacter.
        Patch by Derek Fawcus <dfawcus@employees.org>.


M    ChangeLog
M    Source/win32/WIN32Server.m
M    Source/x11/XGServerEvent.m


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@31034 72102866-910b-0410-8b05-ffd578937521
2010-07-26 12:46:35 +00:00
Eric Wasylishen
8a96326e26 * Source/win32/WIN32Server.m:
Fix accidental integer division intended to be float division when
setting the timestamp on events. This was causing all timestamps
to be rounded to the nearest second.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@31031 72102866-910b-0410-8b05-ffd578937521
2010-07-26 01:55:24 +00:00
Eric Wasylishen
440de8d9b2 * Source/win32/w32_GLContext.m:
* Source/x11/XGGLContext.m:
Apply fix for bug 29705: OpenGL subwindow positioning error
(OpenGL subwindow position was incorrectly calculated when
the window content view was flipped)

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@31029 72102866-910b-0410-8b05-ffd578937521
2010-07-26 01:41:55 +00:00
Eric Wasylishen
f336cf20af back/win32: When ordering out a window, use the SWP_NOACTIVATE flag on SetWindowPos
so Windows doesn't activate/deactivate any windows when hiding a window.
  
This fixes the bug where when a tooltip disappeared, it would deactivate
the window the tooltip was over.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@31024 72102866-910b-0410-8b05-ffd578937521
2010-07-25 07:35:42 +00:00
Eric Wasylishen
a27ce98ff1 back/win32: Fix for bug #29709: Windows: Maximize button in a window title bar is always grayed out
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@30933 72102866-910b-0410-8b05-ffd578937521
2010-07-07 06:00:51 +00:00
Eric Wasylishen
6ebad82029 back/win32: Tweak the conditions for incrementing the clickCount when handling mouse clicks: (i.e. double click detection)
- Require a click to be within a distance (retrieved from Windows)
of the last click to count (previously there was no proximity check)
- Allow clicks separated by the Windows double click time interval
to count (e.g. if the Windows double click time interval is n,
clicking at times 0, n, 2n, 3n would produce events with click counts
1, 2, 3, and 4. This matches OS X behaviour. Previously, all clicks
had to be within the windows double click time interval to count as
one group.)

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@30932 72102866-910b-0410-8b05-ffd578937521
2010-07-07 05:49:13 +00:00
Gregory John Casamento
c79a73ea90 Reactivate the theme when the *Windows* theme is changed.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@30402 72102866-910b-0410-8b05-ffd578937521
2010-05-16 21:32:56 +00:00
Doug Simons
7d826fbd3c fix problems with key window status on Windows
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@30207 72102866-910b-0410-8b05-ffd578937521
2010-04-20 19:52:22 +00:00
Eric Wasylishen
a5b5c4f6b8 Use default icon size when reading ico file for windows app icon
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@30170 72102866-910b-0410-8b05-ffd578937521
2010-04-15 19:02:20 +00:00