diff options
Diffstat (limited to 'pkgs/desktops/kde-4.10/kdenetwork/kopete-giflib5.patch')
-rw-r--r-- | pkgs/desktops/kde-4.10/kdenetwork/kopete-giflib5.patch | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/pkgs/desktops/kde-4.10/kdenetwork/kopete-giflib5.patch b/pkgs/desktops/kde-4.10/kdenetwork/kopete-giflib5.patch new file mode 100644 index 000000000000..1755bdbce76d --- /dev/null +++ b/pkgs/desktops/kde-4.10/kdenetwork/kopete-giflib5.patch @@ -0,0 +1,70 @@ +Index: b/kopete/protocols/wlm/wlmchatsession.cpp +=================================================================== +--- a/kopete/protocols/wlm/wlmchatsession.cpp ++++ b/kopete/protocols/wlm/wlmchatsession.cpp +@@ -63,10 +63,14 @@ + #include "wlmprotocol.h" + #include "wlmaccount.h" + #include "wlmchatsessioninkaction.h" + #ifdef HAVE_GIFLIB + #include <gif_lib.h> ++/* old giflib has no GIFLIB_MAJOR, define to avoid cpp warnings */ ++#ifndef GIFLIB_MAJOR ++#define GIFLIB_MAJOR 4 ++#endif + #endif + + WlmChatSession::WlmChatSession (Kopete::Protocol * protocol, + const Kopete::Contact * user, + Kopete::ContactPtrList others, +@@ -465,15 +469,19 @@ WlmChatSession::slotInviteContact (Kopet + static void + printGifErrorMessage() + { + #ifdef HAVE_GIFLIB + #ifdef HAVE_GIF_ERROR_STRING // giflib 4.2.0+ ++#if GIFLIB_MAJOR >= 5 ++ fprintf(stderr, "GIF-LIB error (exact reporting not implemented)\n"); ++#else + const char * errorString = GifErrorString(); + if (errorString) + fprintf(stderr, "GIF-LIB error: %s\n", errorString); + else + fprintf(stderr, "GIF-LIB undefined error: %d\n", GifError()); ++#endif + #else // older giflib versions, libungif + PrintGifError(); + #endif // HAVE_GIF_ERROR_STRING + #endif // HAVE_GIFLIB + } +@@ -481,10 +489,14 @@ printGifErrorMessage() + /* stolen from kpaint write_to_gif() */ + void + WlmChatSession::convertToGif( const QPixmap & ink, QString filename) + { + #ifdef HAVE_GIFLIB ++#if GIFLIB_MAJOR >= 5 ++#define FreeMapObject GifFreeMapObject ++#define MakeMapObject GifMakeMapObject ++#endif + int i, status; + GifFileType *GifFile; + ColorMapObject *screenColourmap; + ColorMapObject *imageColourmap; + QImage img = ink.toImage().convertToFormat(QImage::Format_Indexed8); +@@ -523,11 +535,15 @@ WlmChatSession::convertToGif( const QPix + screenColourmap->Colors[i].Green= 0; + screenColourmap->Colors[i].Blue= 0; + } + } + ++#if GIFLIB_MAJOR >= 5 ++ GifFile= EGifOpenFileName(QFile::encodeName(filename).constData(), 0, NULL); ++#else + GifFile= EGifOpenFileName(QFile::encodeName(filename).constData(), 0); ++#endif + if (!GifFile) { + FreeMapObject(imageColourmap); + FreeMapObject(screenColourmap); + return; + } |