				/*animateThread = new Thread("Animation") {
					public void run() {
						Image image = null;

						/* Create an off-screen image to draw on, and fill it with the shell background. */
						final Image offScreenImage = new Image(display, loader.logicalScreenWidth, loader.logicalScreenHeight);
						GC offScreenImageGC = new GC(offScreenImage);
						offScreenImageGC.setBackground(shellBackground);
						offScreenImageGC.fillRectangle(0, 0, loader.logicalScreenWidth, loader.logicalScreenHeight);

						try {
							/* Create the first image and draw it on the off-screen image. */
							int imageDataIndex = 0;  
							ImageData imageData = imageDataArray[imageDataIndex];
							safeDispose(image);
							image = new Image(display, imageData);
							
							// draw first image of the animation:
							offScreenImageGC.drawImage(
									image,
									0,
									0,
									imageData.width,
									imageData.height,
									imageData.x,
									imageData.y,
									imageData.width,
									imageData.height);

							/* Now loop through the images, creating and drawing each one
							 * on the off-screen image before drawing it on the shell. */
							int repeatCount = loader.repeatCount;
							while (!cancelled && loader.repeatCount == 0 || repeatCount > 0) {
								System.out.println("while");
								switch (imageData.disposalMethod) {
								case SWT.DM_FILL_BACKGROUND:
									System.out.println("DM_FILL_BACKGROUND");
									// Fill with the background color before drawing
									Color bgColor = null;
									if (loader.backgroundPixel != -1) {
										bgColor = new Color(display, imageData.palette.getRGB(loader.backgroundPixel));
									}
									offScreenImageGC.setBackground(bgColor != null ? bgColor : shellBackground);
									offScreenImageGC.fillRectangle(imageData.x, imageData.y, imageData.width, imageData.height);
									if (bgColor != null)
										bgColor.dispose();
									break;
								case SWT.DM_FILL_PREVIOUS:
									System.out.println("DM_FILL_PREVIOUS");
									// Restore the previous image before drawing. 
									offScreenImageGC.drawImage(
											image,
											0,
											0,
											imageData.width,
											imageData.height,
											imageData.x,
											imageData.y,
											imageData.width,
											imageData.height);
									break;
								}
								imageDataIndex = (imageDataIndex + 1) % imageDataArray.length;
								imageData = imageDataArray[imageDataIndex];

								safeDispose(image);
								image = new Image(display, imageData);
								// draw image of the animation:
								offScreenImageGC.drawImage(
										image,
										0,
										0,
										imageData.width,
										imageData.height,
										imageData.x,
										imageData.y,
										imageData.width,
										imageData.height);


								/* Draw the off-screen image to the shell. */
								updateLock.lock();
								try {
									if (!cancelled && !shellGC.isDisposed()) {
										shellGC.drawImage(offScreenImage, 0, 0);
									}
								} finally {
									updateLock.unlock();
								}



								// Sleep for the specified delay time (adding commonly-used slow-down fudge factors). 
								try {
									int ms = imageData.delayTime * 10;
									if (ms < 20) ms += 30;
									if (ms < 30) ms += 10;
									Thread.sleep(ms);
								} catch (InterruptedException e) {
								}

								// If we have just drawn the last image, decrement the repeat count and start again. 
								if (imageDataIndex == imageDataArray.length - 1) repeatCount--;
							}
						} catch (SWTException e) {
							System.out.println("There was an error animating the GIF");
							e.printStackTrace();
						} finally {
							safeDispose(offScreenImage);
							safeDispose(offScreenImageGC);
							safeDispose(image);
							System.out.println("PASSE JAMAIS ICI !!!");// <<< OUI C'EST ICI QU'IL Y A UN PROBLEME LOGIQUE CAR RRECUPERE A CHAQUE FOIS CHAQUE IMAGE DU GIF, C'EST PLUTOT LE THREAD QU'IL FAUT  GERER LORSQu'APPEL A DISPOSE GENERAL
							internalDispose(display);
						}
					}
				};*/