File ifolder3-libeelfix.patch of Package ifolder3

diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore src/UI/Linux/LinuxClient/library/iFolderViewItem.cs src/UI/Linux/LinuxClient/library/iFolderViewItem.cs
--- src/UI/Linux/LinuxClient/library/iFolderViewItem.cs	2009-06-02 10:16:48.000000000 +0530
+++ src/UI/Linux/LinuxClient/library/iFolderViewItem.cs	2009-10-15 16:13:15.000000000 +0530
@@ -65,6 +65,7 @@
 
 		private static Gdk.Pixbuf EncryptedOKPixbufSpotlight			= null;	
 		private static Gdk.Pixbuf SharedOKPixbuf			= null;
+		private static bool IsLibeelAvailable=true;
 
 		private static Gdk.Pixbuf SharedOKPixbufSpotlight			= null;	
 		///
@@ -302,62 +303,54 @@
 				if (OKPixbuf == null)
 				{
 					OKPixbuf = new Gdk.Pixbuf(Util.ImagesPath("ifolder48.png"));
-					OKPixbufSpotlight =
-						Util.EelCreateSpotlightPixbuf(OKPixbuf);
+					OKPixbufSpotlight = WrapperEelCreateSpotlightPixbuf(OKPixbuf);
 				}
 
 				if (EncryptedOKPixbuf == null)
 				{
 					EncryptedOKPixbuf = new Gdk.Pixbuf(Util.ImagesPath("encrypt-ilock-48.png"));
-					EncryptedOKPixbufSpotlight =
-						Util.EelCreateSpotlightPixbuf(EncryptedOKPixbuf);
+					EncryptedOKPixbufSpotlight = WrapperEelCreateSpotlightPixbuf(EncryptedOKPixbuf);
 				}
 				
 				if (SharedOKPixbuf == null)
 				{
 					SharedOKPixbuf = new Gdk.Pixbuf(Util.ImagesPath("ifolder_user_48.png"));
-					SharedOKPixbufSpotlight =
-						Util.EelCreateSpotlightPixbuf(SharedOKPixbuf);
+					SharedOKPixbufSpotlight = WrapperEelCreateSpotlightPixbuf(SharedOKPixbuf);
 				}
 				
 				if (SubscriptionPixbuf == null)
 				{
 					SubscriptionPixbuf =
 						new Gdk.Pixbuf(Util.ImagesPath("ifolder-download48.png"));
-					SubscriptionPixbufSpotlight =
-						Util.EelCreateSpotlightPixbuf(SubscriptionPixbuf);
+					SubscriptionPixbufSpotlight = WrapperEelCreateSpotlightPixbuf(SubscriptionPixbuf);
 				}
 				
 				if (WarningPixbuf == null)
 				{
 					WarningPixbuf =
 						new Gdk.Pixbuf(Util.ImagesPath("ifolder-warning48.png"));
-					WarningPixbufSpotlight =
-						Util.EelCreateSpotlightPixbuf(WarningPixbuf);
+					WarningPixbufSpotlight = WrapperEelCreateSpotlightPixbuf(WarningPixbuf);
 				}
 	
 				if (ErrorPixbuf == null)
 				{
 					ErrorPixbuf =
 						new Gdk.Pixbuf(Util.ImagesPath("ifolder-error48.png"));
-					ErrorPixbufSpotlight =
-						Util.EelCreateSpotlightPixbuf(ErrorPixbuf);
+					ErrorPixbufSpotlight = WrapperEelCreateSpotlightPixbuf(ErrorPixbuf);
 				}
 	
 				if (SyncPixbuf == null)
 				{
 					SyncPixbuf =
 						new Gdk.Pixbuf(Util.ImagesPath("ifolder-sync48.png"));
-					SyncPixbufSpotlight =
-						Util.EelCreateSpotlightPixbuf(SyncPixbuf);
+					SyncPixbufSpotlight = WrapperEelCreateSpotlightPixbuf(SyncPixbuf);
 				}
 	
 				if (WaitPixbuf == null)
 				{
 					WaitPixbuf =
 						new Gdk.Pixbuf(Util.ImagesPath("ifolder-waiting48.png"));
-					WaitPixbufSpotlight =
-						Util.EelCreateSpotlightPixbuf(WaitPixbuf);
+					WaitPixbufSpotlight = WrapperEelCreateSpotlightPixbuf(WaitPixbuf);
 				}
 				
 /*				if (NwDisconnectPixBuf == null)
@@ -371,6 +364,24 @@
 			}
 		}
 
+        	/// <summary>
+        	/// Wrapper API to check presence libeel.so.*, if dll not found skipp calling the same
+		/// and return original buffer as it is.
+        	/// </summary>
+		private Gdk.Pixbuf WrapperEelCreateSpotlightPixbuf(Gdk.Pixbuf OrgPixBuf)	
+		{
+			try
+			{
+				if(IsLibeelAvailable == true)
+					return Util.EelCreateSpotlightPixbuf(OrgPixBuf);
+			}
+			catch(Exception)
+			{
+				IsLibeelAvailable = false;
+			}
+			return OrgPixBuf;
+		}
+
         /// <summary>
         /// Event Handler for Widget Realized
         /// </summary>
openSUSE Build Service is sponsored by