aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSilenio Quarti2013-07-24 14:22:50 (EDT)
committerSilenio Quarti2013-07-24 14:22:50 (EDT)
commit14a203b0e1f21a0e4e2b093323e617d0caa4cd92 (patch)
treed49163756af97f2b2b5dad9d9a08e84f03adaedd
parenta7bb93e965ee40f221a1eaeb77a94aba955820e8 (diff)
downloadrt.equinox.framework-14a203b0e1f21a0e4e2b093323e617d0caa4cd92.zip
rt.equinox.framework-14a203b0e1f21a0e4e2b093323e617d0caa4cd92.tar.gz
rt.equinox.framework-14a203b0e1f21a0e4e2b093323e617d0caa4cd92.tar.bz2
Bug 413663 - Eclipse doesn't restart after switch workspace
-rw-r--r--bundles/org.eclipse.equinox.executable/library/eclipseShm.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/bundles/org.eclipse.equinox.executable/library/eclipseShm.c b/bundles/org.eclipse.equinox.executable/library/eclipseShm.c
index e46c1f5..0aaadbe 100644
--- a/bundles/org.eclipse.equinox.executable/library/eclipseShm.c
+++ b/bundles/org.eclipse.equinox.executable/library/eclipseShm.c
@@ -29,7 +29,7 @@ int createSharedData(_TCHAR** id, int size) {
if (id != NULL) {
*id = malloc(18 * sizeof(_TCHAR));
#ifdef WIN64
- _stprintf(*id, _T_ECLIPSE("%lx_%lx"), GetCurrentProcessId(), (DWORDLONG) mapHandle);
+ _stprintf(*id, _T_ECLIPSE("%lx_%I64x"), GetCurrentProcessId(), (DWORDLONG) mapHandle);
#else
_stprintf(*id, _T_ECLIPSE("%lx_%lx"), GetCurrentProcessId(), (DWORD) mapHandle);
#endif
@@ -44,10 +44,11 @@ static int getShmID(const _TCHAR* id, LPDWORD processID, LPHANDLE handle) {
DWORD i1;
#ifdef WIN64
DWORDLONG i2;
+ if (_stscanf(id, _T_ECLIPSE("%lx_%I64x"), &i1, &i2) != 2) return -1;
#else
DWORD i2;
-#endif
if (_stscanf(id, _T_ECLIPSE("%lx_%lx"), &i1, &i2) != 2) return -1;
+#endif
*processID = (DWORD)i1;
*handle = (HANDLE)i2;
return 0;