backport for 424111
diff --git a/bundles/org.eclipse.rap.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/SpyFormToolkit.java b/bundles/org.eclipse.rap.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/SpyFormToolkit.java
index de060a0..132b310 100644
--- a/bundles/org.eclipse.rap.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/SpyFormToolkit.java
+++ b/bundles/org.eclipse.rap.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/SpyFormToolkit.java
@@ -9,6 +9,7 @@
  *     Chris Aniszczyk <zx@us.ibm.com> - initial API and implementation
  *     Willian Mitsuda <wmitsuda@gmail.com> - bug 209841
  *     Benjamin Cabe <benjamin.cabe@anyware-tech.com> - bug 209487
+ *     Alexander Kurtakov <akurtako@redhat.com> - bug 415649
  *     Arnaud Mergey <a_mergey@yahoo.fr>              - RAP port
  *******************************************************************************/
 package org.eclipse.pde.internal.runtime.spy;
@@ -299,15 +300,6 @@
     ToolBar toolbar = manager.createControl( section );
     final Cursor handCursor = new Cursor( Display.getCurrent(), SWT.CURSOR_HAND );
     toolbar.setCursor( handCursor );
-    // Cursor needs to be explicitly disposed
-    toolbar.addDisposeListener( new DisposeListener() {
-
-      public void widgetDisposed( DisposeEvent e ) {
-        if( ( handCursor != null ) && ( handCursor.isDisposed() == false ) ) {
-          handCursor.dispose();
-        }
-      }
-    } );
     section.setTextClient( toolbar );
     section.setData( "toolbarmanager", manager ); //$NON-NLS-1$
     return manager;
diff --git a/bundles/org.eclipse.rap.ui.views.log/src/org/eclipse/ui/internal/views/log/LogView.java b/bundles/org.eclipse.rap.ui.views.log/src/org/eclipse/ui/internal/views/log/LogView.java
index 89f782e..0540338 100644
--- a/bundles/org.eclipse.rap.ui.views.log/src/org/eclipse/ui/internal/views/log/LogView.java
+++ b/bundles/org.eclipse.rap.ui.views.log/src/org/eclipse/ui/internal/views/log/LogView.java
@@ -633,7 +633,7 @@
 	 * Import log from file selected in FileDialog.
 	 */
 	void handleImport() {
-		FileDialog dialog = new FileDialog(getViewSite().getShell());
+		FileDialog dialog = new FileDialog(getViewSite().getShell(), SWT.SINGLE | SWT.SHELL_TRIM | SWT.TITLE | SWT.BORDER | SWT.APPLICATION_MODAL);
 		String path = dialog.open();
 		if (path == null) { // cancel
 			return;
diff --git a/bundles/org.eclipse.rap.ui.views.log/src/org/eclipse/ui/internal/views/log/OpenLogDialog.java b/bundles/org.eclipse.rap.ui.views.log/src/org/eclipse/ui/internal/views/log/OpenLogDialog.java
index f5d155a..4381d2a 100644
--- a/bundles/org.eclipse.rap.ui.views.log/src/org/eclipse/ui/internal/views/log/OpenLogDialog.java
+++ b/bundles/org.eclipse.rap.ui.views.log/src/org/eclipse/ui/internal/views/log/OpenLogDialog.java
@@ -1,5 +1,5 @@
 /*******************************************************************************

- * Copyright (c) 2003, 2008 IBM Corporation and others.

+ * Copyright (c) 2003, 2013 IBM Corporation and others.

  * All rights reserved. This program and the accompanying materials

  * are made available under the terms of the Eclipse Public License v1.0

  * which accompanies this distribution, and is available at

@@ -7,6 +7,7 @@
  *

  * Contributors:

  *     IBM Corporation - initial API and implementation

+ *     Lars Vogel <Lars.Vogel@gmail.com> - Bug 424111

  *******************************************************************************/

 

 package org.eclipse.ui.internal.views.log;

@@ -165,9 +166,19 @@
 

 	// reading file within MAX_FILE_LENGTH size

 	void readFile(PrintWriter writer) throws FileNotFoundException, IOException {

-		BufferedReader bReader = new BufferedReader(new FileReader(logFile));

-		while (bReader.ready())

-			writer.println(bReader.readLine());

+		BufferedReader bReader = null;

+		try {

+			bReader = new BufferedReader(new FileReader(logFile));

+			while (bReader.ready()) {

+				writer.println(bReader.readLine());

+			}

+		} finally {

+			try {

+				if (bReader != null)

+					bReader.close();

+			} catch (IOException e1) { // do nothing

+			}

+		}

 	}

 

 	// reading large files