From fd27a4a5b3abbf96bbaebe18125e0584399874f5 Mon Sep 17 00:00:00 2001
From: mrded <mrded@556088.no-reply.drupal.org>
Date: Tue, 27 Aug 2013 12:57:22 +0100
Subject: [PATCH] Fix Rotate effect

---
 modules/image/image.effects.inc | 12 +++++++++---
 modules/image/image.test        |  9 ++++++---
 2 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/modules/image/image.effects.inc b/modules/image/image.effects.inc
index 35a6a74..87d34a0 100644
--- a/modules/image/image.effects.inc
+++ b/modules/image/image.effects.inc
@@ -48,15 +48,21 @@ function image_image_effect_info() {
       'effect callback' => 'image_desaturate_effect',
       'dimensions passthrough' => TRUE,
     ),
-    'image_rotate' => array(
+  );
+
+  if (function_exists('imagerotate')) {
+    $effects['image_rotate'] = array(
       'label' => t('Rotate'),
       'help' => t('Rotating an image may cause the dimensions of an image to increase to fit the diagonal.'),
       'effect callback' => 'image_rotate_effect',
       'dimensions callback' => 'image_rotate_dimensions',
       'form callback' => 'image_rotate_form',
       'summary theme' => 'image_rotate_summary',
-    ),
-  );
+    );
+  }
+  else {
+    drupal_set_message(t('"Rotate" effect is not supported. You need to update your gd extension.'), 'warning');
+  }
 
   return $effects;
 }
diff --git a/modules/image/image.test b/modules/image/image.test
index 7db68e6..6d035d1 100644
--- a/modules/image/image.test
+++ b/modules/image/image.test
@@ -524,12 +524,15 @@ class ImageAdminStylesUnitTest extends ImageFieldTestCase {
       'image_desaturate' => array(
         // No options for desaturate.
       ),
-      'image_rotate' => array(
+    );
+
+    if (function_exists('imagerotate')) {
+      $effect_edits['image_rotate'] = array(
         'data[degrees]' => 5,
         'data[random]' => 1,
         'data[bgcolor]' => '#FFFF00',
-      ),
-    );
+      );
+    }
 
     // Add style form.
 
-- 
1.7.12.4 (Apple Git-37)

