Bug 576484 - GError not freed

Previous patch has a leak if g_error_matches fails. Now error is freed
in any case.

Change-Id: I9a332cd66b2f7ae8925be4c72deda4d936a936e0
Signed-off-by: Joel Majano <jmajano@redhat.com>
Reviewed-on: https://git.eclipse.org/r/c/platform/eclipse.platform.swt/+/190383
Reviewed-by: Alexandr Miloslavskiy <alexandr.miloslavskiy@syntevo.com>
Reviewed-by: Alexander Kurtakov <akurtako@redhat.com>
Tested-by: Alexander Kurtakov <akurtako@redhat.com>
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/ImageLoader.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/ImageLoader.java
index 1080d57..edd343e 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/ImageLoader.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/ImageLoader.java
@@ -205,6 +205,8 @@
 			 */
 			if(OS.g_error_matches(error[0], OS.g_file_error_quark(), OS.G_FILE_ERROR_IO)){
 				SWT.error(SWT.ERROR_IO, null, Display.extractFreeGError(error[0]));
+			} else {
+				OS.g_error_free(error[0]);
 			}
 		}
 		GDK.gdk_pixbuf_loader_close(loader, null);