The following commit has been merged in the master branch: commit 5d51afd2debe48ada3b3dc8c4a6aa45a9d214b12 Author: أحمد المحمودي (Ahmed El-Mahmoudy) <aelmahmo...@sabily.org> Date: Mon Feb 27 18:39:54 2012 +0200
Imported Upstream version 3.7.2 diff --git a/make_common.mak b/make_common.mak index c1721a4..e381522 100644 --- a/make_common.mak +++ b/make_common.mak @@ -10,5 +10,5 @@ #******************************************************************************* maj_ver=3 -min_ver=738 -comma_ver=3,7,3,8 +min_ver=740 +comma_ver=3,7,4,0 diff --git a/org/eclipse/swt/browser/MozillaDelegate.java b/org/eclipse/swt/browser/MozillaDelegate.java index d5de1b3..230aacb 100644 --- a/org/eclipse/swt/browser/MozillaDelegate.java +++ b/org/eclipse/swt/browser/MozillaDelegate.java @@ -19,6 +19,7 @@ import org.eclipse.swt.widgets.*; class MozillaDelegate { Browser browser; + Shell eventShell; int /*long*/ mozillaHandle, embedHandle; boolean hasFocus; Listener listener; @@ -138,15 +139,21 @@ void handleFocus () { listener = new Listener () { public void handleEvent (Event event) { if (event.widget == browser) return; - ((Mozilla)browser.webBrowser).Deactivate (); - hasFocus = false; - browser.getDisplay ().removeFilter (SWT.FocusIn, this); - browser.getShell ().removeListener (SWT.Deactivate, this); + if (event.type != SWT.Dispose) { + ((Mozilla)browser.webBrowser).Deactivate (); + hasFocus = false; + } + eventShell.getDisplay ().removeFilter (SWT.FocusIn, this); + eventShell.removeListener (SWT.Deactivate, this); + eventShell.removeListener (SWT.Dispose, this); + eventShell = null; listener = null; } }; - browser.getDisplay ().addFilter (SWT.FocusIn, listener); - browser.getShell ().addListener (SWT.Deactivate, listener); + eventShell = browser.getShell (); + eventShell.getDisplay ().addFilter (SWT.FocusIn, listener); + eventShell.addListener (SWT.Deactivate, listener); + eventShell.addListener (SWT.Dispose, listener); } void handleMouseDown () { @@ -211,8 +218,10 @@ boolean needsSpinup () { void onDispose (int /*long*/ embedHandle) { if (listener != null) { - browser.getDisplay ().removeFilter (SWT.FocusIn, listener); - browser.getShell ().removeListener (SWT.Deactivate, listener); + eventShell.getDisplay ().removeFilter (SWT.FocusIn, listener); + eventShell.removeListener (SWT.Deactivate, listener); + eventShell.removeListener (SWT.Dispose, listener); + eventShell = null; listener = null; } browser = null; diff --git a/org/eclipse/swt/browser/WebKit.java b/org/eclipse/swt/browser/WebKit.java index 727a9ed..2c464bf 100644 --- a/org/eclipse/swt/browser/WebKit.java +++ b/org/eclipse/swt/browser/WebKit.java @@ -140,9 +140,10 @@ class WebKit extends WebBrowser { /* indicates a session cookie */ WebKitGTK.soup_cookie_jar_delete_cookie (jar, cookie); } - OS.g_free (cookie); + // WebKitGTK.soup_cookie_free (cookie); current = OS.g_slist_next (current); } + OS.g_slist_free (cookies); } }; @@ -1823,7 +1824,7 @@ Object convertToJava (int /*long*/ ctx, int /*long*/ value) { int type = WebKitGTK.JSValueGetType (ctx, value); switch (type) { case WebKitGTK.kJSTypeBoolean: { - int result = WebKitGTK.JSValueToBoolean (ctx, value); + int result = (int)WebKitGTK.JSValueToNumber (ctx, value, null); return new Boolean (result != 0); } case WebKitGTK.kJSTypeNumber: { diff --git a/org/eclipse/swt/custom/CTabFolder.java b/org/eclipse/swt/custom/CTabFolder.java index f9f31b7..36875e2 100644 --- a/org/eclipse/swt/custom/CTabFolder.java +++ b/org/eclipse/swt/custom/CTabFolder.java @@ -1064,6 +1064,7 @@ void initAccessible() { childID = items.length + MAXIMIZE_CHILD_ID; } else { Rectangle location = getBounds(); + location.x = location.y = 0; location.height = location.height - getClientArea().height; if (location.contains(testPoint)) { childID = ACC.CHILDID_SELF; diff --git a/org/eclipse/swt/graphics/GC.java b/org/eclipse/swt/graphics/GC.java index cd51b3b..08e999a 100644 --- a/org/eclipse/swt/graphics/GC.java +++ b/org/eclipse/swt/graphics/GC.java @@ -2792,6 +2792,9 @@ double[] identity() { } else { Cairo.cairo_matrix_init_identity(identity); } + if (data.identity != null) { + Cairo.cairo_matrix_multiply(identity, data.identity, identity); + } return identity; } diff --git a/org/eclipse/swt/graphics/GCData.java b/org/eclipse/swt/graphics/GCData.java index d507acb..b42a96d 100644 --- a/org/eclipse/swt/graphics/GCData.java +++ b/org/eclipse/swt/graphics/GCData.java @@ -54,7 +54,7 @@ public final class GCData { public int /*long*/ cairo; public double cairoXoffset, cairoYoffset; public boolean disposeCairo; - public double[] clippingTransform; + public double[] identity, clippingTransform; public String string; public int stringWidth = -1; public int stringHeight = -1; diff --git a/org/eclipse/swt/internal/Library.java b/org/eclipse/swt/internal/Library.java index f9882d6..4be84aa 100644 --- a/org/eclipse/swt/internal/Library.java +++ b/org/eclipse/swt/internal/Library.java @@ -24,7 +24,7 @@ public class Library { /** * SWT Minor version number (must be in the range 0..999) */ - static int MINOR_VERSION = 738; + static int MINOR_VERSION = 740; /** * SWT revision number (must be >= 0) diff --git a/org/eclipse/swt/internal/webkit/WebKitGTK.java b/org/eclipse/swt/internal/webkit/WebKitGTK.java index 01bbe98..792bccb 100644 --- a/org/eclipse/swt/internal/webkit/WebKitGTK.java +++ b/org/eclipse/swt/internal/webkit/WebKitGTK.java @@ -483,6 +483,19 @@ public static final int /*long*/ soup_auth_get_scheme_name (int /*long*/ auth) { } } +///** +// * @param cookie cast=(SoupCookie *) +// */ +//public static final native void _soup_cookie_free (int /*long*/ cookie); +//public static final void soup_cookie_free (int /*long*/ cookie) { +// lock.lock(); +// try { +// _soup_cookie_free (cookie); +// } finally { +// lock.unlock(); +// } +//} + /** * @param jar cast=(SoupCookieJar *) * @param cookie cast=(SoupCookie *) diff --git a/org/eclipse/swt/printing/Printer.java b/org/eclipse/swt/printing/Printer.java index 0b79f2d..b43afa6 100644 --- a/org/eclipse/swt/printing/Printer.java +++ b/org/eclipse/swt/printing/Printer.java @@ -457,6 +457,9 @@ public int /*long*/ internal_new_GC(GCData data) { double printY = OS.gtk_page_setup_get_top_margin(pageSetup, OS.GTK_UNIT_POINTS); Cairo.cairo_translate(cairo, printX, printY); Cairo.cairo_scale(cairo, screenDPI.x / (float)dpi.x, screenDPI.y / (float)dpi.y); + double[] matrix = new double[6]; + Cairo.cairo_get_matrix(cairo, matrix); + data.identity = matrix; data.cairo = cairo; isGCCreated = true; } diff --git a/org/eclipse/swt/widgets/MenuItem.java b/org/eclipse/swt/widgets/MenuItem.java index d0a81f5..116cba6 100644 --- a/org/eclipse/swt/widgets/MenuItem.java +++ b/org/eclipse/swt/widgets/MenuItem.java @@ -313,6 +313,7 @@ int /*long*/ getAccelGroup () { } if (menu == null) return 0; Decorations shell = menu.parent; + if (shell == null) return 0; return shell.menuBar == menu ? shell.accelGroup : 0; } diff --git a/os_custom.h b/os_custom.h index 68ba6cb..5feec34 100644 --- a/os_custom.h +++ b/os_custom.h @@ -30,7 +30,7 @@ #define LIB_GTK "libgtk-x11-2.0.a(libgtk-x11-2.0.so.0)" #define LIB_GDK "libgdk-x11-2.0.a(libgdk-x11-2.0.so.0)" #define LIB_ATK "libatk-1.0.a(libatk-1.0.so.0)" -#define LIB_PANGO "libpango-1.0.a(libpango-1.0.so.0" +#define LIB_PANGO "libpango-1.0.a(libpango-1.0.so.0)" #define LIB_PANGOCAIRO "libpangocairo-1.0.a(libpangocairo-1.0.so.0)" #define LIB_GIO "libgio-2.0.a(libgio-2.0.so.0)" #define LIB_FONTCONFIG "libfontconfig.a(libfontconfig.so.1)" diff --git a/version.txt b/version.txt index 6c8d319..1520a85 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -version 3.738 \ No newline at end of file +version 3.740 \ No newline at end of file diff --git a/webkitgtk.c b/webkitgtk.c index 3ce68d9..daa6b59 100644 --- a/webkitgtk.c +++ b/webkitgtk.c @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2010 IBM Corporation and others. All rights reserved. + * Copyright (c) 2009, 2011 IBM Corporation and others. All rights reserved. * The contents of this file are made available under the terms * of the GNU Lesser General Public License (LGPL) Version 2.1 that * accompanies this distribution (lgpl-v21.txt). The LGPL is also diff --git a/webkitgtk_stats.c b/webkitgtk_stats.c index 31b101d..fb90489 100644 --- a/webkitgtk_stats.c +++ b/webkitgtk_stats.c @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2010 IBM Corporation and others. All rights reserved. + * Copyright (c) 2009, 2011 IBM Corporation and others. All rights reserved. * The contents of this file are made available under the terms * of the GNU Lesser General Public License (LGPL) Version 2.1 that * accompanies this distribution (lgpl-v21.txt). The LGPL is also diff --git a/webkitgtk_stats.h b/webkitgtk_stats.h index 69398a9..8839532 100644 --- a/webkitgtk_stats.h +++ b/webkitgtk_stats.h @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2010 IBM Corporation and others. All rights reserved. + * Copyright (c) 2009, 2011 IBM Corporation and others. All rights reserved. * The contents of this file are made available under the terms * of the GNU Lesser General Public License (LGPL) Version 2.1 that * accompanies this distribution (lgpl-v21.txt). The LGPL is also -- Debian packaging for swt-gtk. _______________________________________________ pkg-java-commits mailing list pkg-java-comm...@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits