From 69dc432c775a860d0273ccc81c5a5f93cfe8088d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20=C3=85strand=20(astrand)?= Date: Tue, 24 Apr 2018 09:42:01 +0200 Subject: [PATCH 1/3] Corrected crosscompile if statements --- fltk/fltk.spec | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fltk/fltk.spec b/fltk/fltk.spec index 9e9b690..ff6d7ee 100644 --- a/fltk/fltk.spec +++ b/fltk/fltk.spec @@ -173,7 +173,7 @@ rm -rf $RPM_BUILD_ROOT%{_cendio_archdir}/%{_cendio_libdir}/fltk %else # FLTK still uses the old foo-config system, which means that the # tool must be reachable via $PATH -%if %{crosscompile} +%if 0%{?crosscompile} mkdir -p $RPM_BUILD_ROOT%{_cendio_archdir}/usr/bin ln -s %{_cendio_bindir}/fltk-config \ $RPM_BUILD_ROOT%{_cendio_archdir}/usr/bin/fltk-config @@ -190,7 +190,7 @@ rm -rf $RPM_BUILD_ROOT %defattr(-,root,root) %if ! %{use_cmake} %{_cendio_archdir}/%{_cendio_bindir}/fltk-config -%if %{crosscompile} +%if 0%{?crosscompile} %{_cendio_archdir}/usr/bin/fltk-config %endif %endif -- 1.7.1 From 6c60eeb52c8a80f91948a80705e4f390da53800f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20=C3=85strand=20(astrand)?= Date: Tue, 24 Apr 2018 10:13:46 +0200 Subject: [PATCH 2/3] Removed unused Autotools stuff --- fltk/fltk.spec | 56 +------------------------------------------------------- 1 files changed, 1 insertions(+), 55 deletions(-) diff --git a/fltk/fltk.spec b/fltk/fltk.spec index ff6d7ee..fd94307 100644 --- a/fltk/fltk.spec +++ b/fltk/fltk.spec @@ -5,7 +5,6 @@ %include /opt/cendio-build/lib/utils/macros %global component fltk -%global use_cmake 1 Name: cendio-build-%{component}-%{_cendio_arch} Summary: %{component} package for Cendio build environment @@ -32,12 +31,7 @@ BuildRequires: cendio-build-build%{?native:-native}-%{_cendio_arch} BuildRequires: cendio-build-zlib-%{_cendio_arch} BuildRequires: cendio-build-libpng-%{_cendio_arch} BuildRequires: cendio-build-libjpeg-%{_cendio_arch} - -%if %{use_cmake} BuildRequires: cendio-build-cmake-%{_cendio_arch} -%else -BuildRequires: cendio-build-autoconf-%{_cendio_arch} -%endif Requires: cendio-build-base-%{_cendio_arch} Requires: cendio-build-zlib-%{_cendio_arch} @@ -77,19 +71,6 @@ Requires: cendio-build-libXinerama-%{_cendio_arch} # Enable ABI breaking features sed -i 's@^//#define FLTK_ABI_VERSION@#define FLTK_ABI_VERSION@' FL/Enumerations.H -%if ! %{use_cmake} -# We modify configure.in so we need to regenerate it -%{cbrun} autoconf -%endif - -# FLTK has a really broken way of determining its platform -%if 0%{?windows} -sed -i 's%`uname`%MINGW32%' configure -%endif -%if 0%{?osx} -sed -i 's%`uname`%Darwin%' configure -%endif - # We also need to avoid the tests as they assume that fluid can # be executed (which it can't if we're cross compiling sed -i 's%fluid test%fluid%' Makefile @@ -109,7 +90,6 @@ export HAVE_PTHREAD=1 export OSX_FRAMEWORKS=1 %endif -%if %{use_cmake} # Note: Keep Cendio specific flags to the end, since we are # documenting the rest of the options in the TigerVNC upstream # BUILDING.txt. @@ -119,21 +99,12 @@ export OSX_FRAMEWORKS=1 ${HAVE_PTHREAD+-DTHREADS_PTHREAD_ARG=0} \ ${OSX_FRAMEWORKS+-DCMAKE_SHARED_LINKER_FLAGS="-framework Cocoa -framework Carbon"} \ --debug-output -%else -# I hate silent builds -perl -pi -e 's|.SILENT:||g' makeinclude.in -%{_cendio_configure} \ - --disable-localjpeg \ - --disable-localzlib --disable-localpng \ - --enable-xft --enable-shared -%endif %{_cendio_make} VERBOSE=1 %install rm -rf $RPM_BUILD_ROOT %{_cendio_makeinstall} -%if %{use_cmake} # When building with cmake, extra cmake files are installed. Get rid # of them. Unfortunately, the location various depending on platform. # Can be /usr/i686-pc-mingw32/sys-root/mingw/CMake or @@ -170,45 +141,20 @@ rm -rf $RPM_BUILD_ROOT%{_cendio_archdir}/%{_cendio_prefix}/FLTK rm -rf $RPM_BUILD_ROOT%{_cendio_archdir}/%{_cendio_libdir}/fltk %endif -%else -# FLTK still uses the old foo-config system, which means that the -# tool must be reachable via $PATH -%if 0%{?crosscompile} -mkdir -p $RPM_BUILD_ROOT%{_cendio_archdir}/usr/bin -ln -s %{_cendio_bindir}/fltk-config \ - $RPM_BUILD_ROOT%{_cendio_archdir}/usr/bin/fltk-config -%endif - -# Autotools installs stuff in legacy cat directories -rm -rf $RPM_BUILD_ROOT%{_cendio_archdir}/%{_cendio_mandir}/cat? -%endif - %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) -%if ! %{use_cmake} -%{_cendio_archdir}/%{_cendio_bindir}/fltk-config -%if 0%{?crosscompile} -%{_cendio_archdir}/usr/bin/fltk-config -%endif -%endif # Cmake does not build fluid when cross compiling -%if ! 0%{?crosscompile} || ! %{use_cmake} +%if ! 0%{?crosscompile} %{_cendio_archdir}/%{_cendio_bindir}/fluid* %endif %if 0%{?windows} -# With Autotools you get mgwfltknox DLL files. With cmake -# you get DLLs with normal names. -%if ! %{use_cmake} -%{_cendio_archdir}/%{_cendio_bindir}/mgwfltknox*.dll -%else %{_cendio_archdir}/%{_cendio_bindir}/libfltk*.dll %endif -%endif %{_cendio_archdir}/%{_cendio_includedir}/FL -- 1.7.1 From ed896efb6b010a0b805ce8d0d9c6a62a65e75e50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20=C3=85strand=20(astrand)?= Date: Wed, 25 Apr 2018 10:31:07 +0200 Subject: [PATCH 3/3] Upgrade to FLTK 1.3.4 --- fltk/fltk.spec | 47 ++++----------------- fltk/src/fltk-1.3.3-source.tar.gz | Bin 4986376 -> 0 bytes fltk/src/fltk-1.3.4-source.tar.bz2 | Bin 0 -> 4535833 bytes fltk/src/fltk-1.3.x-clipbox.patch | 24 ---------- fltk/src/fltk-1.3.x-crlf.patch | 30 ------------- fltk/src/fltk-1.3.x-libdl.patch | 32 -------------- fltk/src/fltk-1.3.x-net_wm_pid.patch | 34 --------------- fltk/src/fltk-1.3.x-osx-clip.patch | 77 ---------------------------------- 8 files changed, 9 insertions(+), 235 deletions(-) delete mode 100644 fltk/src/fltk-1.3.3-source.tar.gz create mode 100644 fltk/src/fltk-1.3.4-source.tar.bz2 delete mode 100644 fltk/src/fltk-1.3.x-clipbox.patch delete mode 100644 fltk/src/fltk-1.3.x-crlf.patch delete mode 100644 fltk/src/fltk-1.3.x-libdl.patch delete mode 100644 fltk/src/fltk-1.3.x-net_wm_pid.patch delete mode 100644 fltk/src/fltk-1.3.x-osx-clip.patch diff --git a/fltk/fltk.spec b/fltk/fltk.spec index fd94307..2f4f1e2 100644 --- a/fltk/fltk.spec +++ b/fltk/fltk.spec @@ -8,24 +8,13 @@ Name: cendio-build-%{component}-%{_cendio_arch} Summary: %{component} package for Cendio build environment -Version: 1.3.3 -Release: 9 +Version: 1.3.4 +Release: 1 License: Open Source/Proprietary (see COPYING) Group: Development/Libraries -Source0: %{component}-%{version}-source.tar.gz - -# Set _NET_WM_PID on windows (upstream r10710) -Patch0: %{component}-1.3.x-net_wm_pid.patch -# OSX clipboard buffer overflow (upstream r10709) -Patch1: %{component}-1.3.x-osx-clip.patch -# Missing -ldl on link line (upstream r10590) -Patch2: %{component}-1.3.x-libdl.patch -# Bad CRLF handling on Windows (upstream r11873) -Patch3: %{component}-1.3.x-crlf.patch -# fl_clip_box() buggy on macOS (upstream r10576) -Patch4: %{component}-1.3.x-clipbox.patch +Source0: %{component}-%{version}-source.tar.bz2 BuildRequires: cendio-build-build%{?native:-native}-%{_cendio_arch} BuildRequires: cendio-build-zlib-%{_cendio_arch} @@ -62,12 +51,6 @@ Requires: cendio-build-libXinerama-%{_cendio_arch} %prep %setup -q -n %{component}-%{version} -%patch0 -p0 -%patch1 -p1 -b .clip -%patch2 -p0 -b .libdl -%patch3 -p0 -b .crlf -%patch4 -p0 -b .clipbox - # Enable ABI breaking features sed -i 's@^//#define FLTK_ABI_VERSION@#define FLTK_ABI_VERSION@' FL/Enumerations.H @@ -112,24 +95,12 @@ rm -rf $RPM_BUILD_ROOT rm -f $RPM_BUILD_ROOT%{_cendio_archdir}/%{_cendio_prefix}/lib/FLTK-1.3/*.cmake rm -f $RPM_BUILD_ROOT%{_cendio_archdir}/%{_cendio_prefix}/CMake/*.cmake rm -f $RPM_BUILD_ROOT%{_cendio_archdir}/%{_cendio_prefix}/FLTK/.framework/Resources/CMake/*.cmake +rm -f $RPM_BUILD_ROOT%{_cendio_archdir}/%{_cendio_prefix}/share/fltk/*.cmake # Get rid of test program docs rm -rf $RPM_BUILD_ROOT%{_cendio_archdir}/%{_cendio_mandir}/man6 # cmake installs everything under FL, even patch backup files. Get rid of non-h files. rm -f $RPM_BUILD_ROOT%{_cendio_archdir}/%{_cendio_includedir}/FL/*[!.Hh] -# cmake puts lots of stuff in the wrong places -%if %{_cendio_arch} != win32 && %{_cendio_arch} != win64 -mkdir -p $RPM_BUILD_ROOT%{_cendio_archdir}/%{_cendio_mandir} -mv $RPM_BUILD_ROOT%{_cendio_archdir}/%{_cendio_prefix}/man/* \ - $RPM_BUILD_ROOT%{_cendio_archdir}/%{_cendio_mandir}/ -rmdir $RPM_BUILD_ROOT%{_cendio_archdir}/%{_cendio_prefix}/man -%endif - -%if "%{_cendio_prefix}/lib" != "%{_cendio_libdir}" -mv $RPM_BUILD_ROOT%{_cendio_archdir}%{_cendio_prefix}/lib \ - $RPM_BUILD_ROOT%{_cendio_archdir}%{_cendio_libdir} -%endif - # These files break CMake's FindFLTK so just nuke them %if 0%{?windows} rm -rf $RPM_BUILD_ROOT%{_cendio_archdir}/%{_cendio_prefix}/CMake @@ -147,9 +118,14 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) +%{_cendio_archdir}/%{_cendio_bindir}/fltk-config + # Cmake does not build fluid when cross compiling %if ! 0%{?crosscompile} %{_cendio_archdir}/%{_cendio_bindir}/fluid* +%{_cendio_archdir}/%{_cendio_datadir}/applications/fluid.desktop +%{_cendio_archdir}/%{_cendio_datadir}/mime/packages/fluid.xml +%{_cendio_archdir}/%{_cendio_datadir}/icons/hicolor/*/apps/fluid.png %endif %if 0%{?windows} @@ -160,11 +136,6 @@ rm -rf $RPM_BUILD_ROOT %{_cendio_archdir}/%{_cendio_libdir}/libfltk* -%if ! 0%{?windows} %{_cendio_archdir}/%{_cendio_mandir}/man1/fltk-config.1 %{_cendio_archdir}/%{_cendio_mandir}/man1/fluid.1 %{_cendio_archdir}/%{_cendio_mandir}/man3/fltk.3 -%{_cendio_archdir}/%{_cendio_mandir}/man6/blocks.6 -%{_cendio_archdir}/%{_cendio_mandir}/man6/checkers.6 -%{_cendio_archdir}/%{_cendio_mandir}/man6/sudoku.6 -%endif diff --git a/fltk/src/fltk-1.3.3-source.tar.gz b/fltk/src/fltk-1.3.3-source.tar.gz deleted file mode 100644 index cb3675c..0000000 Binary files a/fltk/src/fltk-1.3.3-source.tar.gz and /dev/null differ diff --git a/fltk/src/fltk-1.3.4-source.tar.bz2 b/fltk/src/fltk-1.3.4-source.tar.bz2 new file mode 100644 index 0000000..9873fab Binary files /dev/null and b/fltk/src/fltk-1.3.4-source.tar.bz2 differ diff --git a/fltk/src/fltk-1.3.x-clipbox.patch b/fltk/src/fltk-1.3.x-clipbox.patch deleted file mode 100644 index 24777a1..0000000 --- a/fltk/src/fltk-1.3.x-clipbox.patch +++ /dev/null @@ -1,24 +0,0 @@ ------------------------------------------------------------------------- -r10576 | manolo | 2015-02-13 13:00:19 +0100 (Fri, 13 Feb 2015) | 1 line - -Mac OS: made function Fl_Graphics_Driver::clip_box() more accurate for retina displays ------------------------------------------------------------------------- -Index: src/fl_rect.cxx -=================================================================== ---- src/fl_rect.cxx (revision 10575) -+++ src/fl_rect.cxx (revision 10576) -@@ -718,10 +718,10 @@ - else u = CGRectUnion(u, test); - } - } -- X = int(u.origin.x); -- Y = int(u.origin.y); -- W = int(u.size.width + 1); -- H = int(u.size.height + 1); -+ X = int(u.origin.x + 0.5); // reverse offset introduced by fl_cgrectmake_cocoa() -+ Y = int(u.origin.y + 0.5); -+ W = int(u.size.width + 0.5); // round to nearest integer -+ H = int(u.size.height + 0.5); - if(CGRectIsEmpty(u)) W = H = 0; - return ! CGRectEqualToRect(arg, u); - #else diff --git a/fltk/src/fltk-1.3.x-crlf.patch b/fltk/src/fltk-1.3.x-crlf.patch deleted file mode 100644 index c248d66..0000000 --- a/fltk/src/fltk-1.3.x-crlf.patch +++ /dev/null @@ -1,30 +0,0 @@ -Index: src/Fl_win32.cxx -=================================================================== ---- src/Fl_win32.cxx (revision 11872) -+++ src/Fl_win32.cxx (working copy) -@@ -602,9 +602,9 @@ - char *o; - int lencount; - // Predict size of \r\n conversion buffer -- for ( i=in, lencount = inlen; lencount--; ) { -- if ( *i == '\r' && *(i+1) == '\n' ) // leave \r\n untranslated -- { i+=2; outlen+=2; } -+ for (i = in, lencount = inlen; lencount > 0; lencount--) { -+ if ( *i == '\r' && *(i+1) == '\n' && lencount >= 2 ) // leave \r\n untranslated -+ { i+=2; outlen+=2; lencount--; } - else if ( *i == '\n' ) // \n by itself? leave room to insert \r - { i++; outlen+=2; } - else -@@ -613,9 +613,9 @@ - // Alloc conversion buffer + NULL - out = new char[outlen+1]; - // Handle \n -> \r\n conversion -- for ( i=in, o=out, lencount = inlen; lencount--; ) { -- if ( *i == '\r' && *(i+1) == '\n' ) // leave \r\n untranslated -- { *o++ = *i++; *o++ = *i++; } -+ for (i = in, o=out, lencount = inlen; lencount > 0; lencount--) { -+ if ( *i == '\r' && *(i+1) == '\n' && lencount >= 2 ) // leave \r\n untranslated -+ { *o++ = *i++; *o++ = *i++; lencount--; } - else if ( *i == '\n' ) // \n by itself? insert \r - { *o++ = '\r'; *o++ = *i++; } - else diff --git a/fltk/src/fltk-1.3.x-libdl.patch b/fltk/src/fltk-1.3.x-libdl.patch deleted file mode 100644 index 4f7617c..0000000 --- a/fltk/src/fltk-1.3.x-libdl.patch +++ /dev/null @@ -1,32 +0,0 @@ -Index: src/CMakeLists.txt -=================================================================== ---- src/CMakeLists.txt (revision 10589) -+++ src/CMakeLists.txt (revision 10590) -@@ -213,8 +213,12 @@ - ####################################################################### - FL_ADD_LIBRARY(fltk STATIC "${CPPFILES};${MMFILES};${CFILES};fl_call_main.c") - -+if(LIB_dl) -+ target_link_libraries(fltk ${LIB_dl}) -+endif(LIB_dl) -+ - if(USE_THREADS) -- target_link_libraries(fltk ${CMAKE_THREAD_LIBS_INIT} ${LIB_dl}) -+ target_link_libraries(fltk ${CMAKE_THREAD_LIBS_INIT}) - endif(USE_THREADS) - - if(USE_X11) -@@ -288,8 +292,12 @@ - ####################################################################### - FL_ADD_LIBRARY(fltk SHARED "${CPPFILES};${MMFILES};${CFILES}") - -+if(LIB_dl) -+ target_link_libraries(fltk_SHARED ${LIB_dl}) -+endif(LIB_dl) -+ - if(USE_THREADS) -- target_link_libraries(fltk_SHARED ${CMAKE_THREAD_LIBS_INIT} ${LIB_dl}) -+ target_link_libraries(fltk_SHARED ${CMAKE_THREAD_LIBS_INIT}) - endif(USE_THREADS) - - if(USE_X11) diff --git a/fltk/src/fltk-1.3.x-net_wm_pid.patch b/fltk/src/fltk-1.3.x-net_wm_pid.patch deleted file mode 100644 index e5fff0d..0000000 --- a/fltk/src/fltk-1.3.x-net_wm_pid.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- src/Fl_x.cxx.org 2014-12-16 16:11:13.948263680 +0100 -+++ src/Fl_x.cxx 2014-12-17 09:19:23.966851472 +0100 -@@ -352,6 +352,7 @@ static Atom fl_XaTextUriList; - static Atom fl_XaImageBmp; - static Atom fl_XaImagePNG; - static Atom fl_INCR; -+static Atom fl_NET_WM_PID; - static Atom fl_NET_WM_NAME; // utf8 aware window label - static Atom fl_NET_WM_ICON_NAME; // utf8 aware window icon name - static Atom fl_NET_SUPPORTING_WM_CHECK; -@@ -716,6 +717,7 @@ void fl_open_display(Display* d) { - fl_XaImageBmp = XInternAtom(d, "image/bmp", 0); - fl_XaImagePNG = XInternAtom(d, "image/png", 0); - fl_INCR = XInternAtom(d, "INCR", 0); -+ fl_NET_WM_PID = XInternAtom(d, "_NET_WM_PID", 0); - fl_NET_WM_NAME = XInternAtom(d, "_NET_WM_NAME", 0); - fl_NET_WM_ICON_NAME = XInternAtom(d, "_NET_WM_ICON_NAME", 0); - fl_NET_SUPPORTING_WM_CHECK = XInternAtom(d, "_NET_SUPPORTING_WM_CHECK", 0); -@@ -2452,6 +2454,15 @@ void Fl_X::make_xid(Fl_Window* win, XVis - mask, &attr)); - int showit = 1; - -+ // Set WM_CLIENT_MACHINE and WM_LOCALE_NAME -+ XSetWMProperties(fl_display, xp->xid, NULL, NULL, NULL, 0, NULL, NULL, NULL); -+ -+ // Set WM_NET_PID -+ long pid; -+ pid = getpid(); -+ XChangeProperty(fl_display, xp->xid, fl_NET_WM_PID, -+ XA_CARDINAL, 32, 0, (unsigned char *)&pid, 1); -+ - if (!win->parent() && !attr.override_redirect) { - // Communicate all kinds 'o junk to the X Window Manager: - diff --git a/fltk/src/fltk-1.3.x-osx-clip.patch b/fltk/src/fltk-1.3.x-osx-clip.patch deleted file mode 100644 index 214032e..0000000 --- a/fltk/src/fltk-1.3.x-osx-clip.patch +++ /dev/null @@ -1,77 +0,0 @@ -diff -up fltk-1.3.3/src/Fl_cocoa.mm.clip fltk-1.3.3/src/Fl_cocoa.mm ---- fltk-1.3.3/src/Fl_cocoa.mm.clip 2014-11-02 22:06:07.000000000 +0100 -+++ fltk-1.3.3/src/Fl_cocoa.mm 2015-04-20 13:45:03.526688921 +0200 -@@ -3061,6 +3061,14 @@ static void clipboard_check(void) - fl_trigger_clipboard_notify(1); - } - -+static void resize_selection_buffer(int len, int clipboard) { -+ if (len <= fl_selection_buffer_length[clipboard]) -+ return; -+ delete[] fl_selection_buffer[clipboard]; -+ fl_selection_buffer[clipboard] = new char[len+100]; -+ fl_selection_buffer_length[clipboard] = len+100; -+} -+ - /* - * create a selection - * stuff: pointer to selected data -@@ -3069,11 +3077,7 @@ static void clipboard_check(void) - */ - void Fl::copy(const char *stuff, int len, int clipboard, const char *type) { - if (!stuff || len<0) return; -- if (len+1 > fl_selection_buffer_length[clipboard]) { -- delete[] fl_selection_buffer[clipboard]; -- fl_selection_buffer[clipboard] = new char[len+100]; -- fl_selection_buffer_length[clipboard] = len+100; -- } -+ resize_selection_buffer(len+1, clipboard); - memcpy(fl_selection_buffer[clipboard], stuff, len); - fl_selection_buffer[clipboard][len] = 0; // needed for direct paste - fl_selection_length[clipboard] = len; -@@ -3087,7 +3091,7 @@ void Fl::copy(const char *stuff, int len - } - } - --static int get_plain_text_from_clipboard(char **buffer, int previous_length) -+static int get_plain_text_from_clipboard(int clipboard) - { - NSInteger length = 0; - NSPasteboard *clip = [NSPasteboard generalPasteboard]; -@@ -3109,21 +3113,17 @@ static int get_plain_text_from_clipboard - len = strlen(aux_c) + 1; - } - else len = [data length] + 1; -- if ( len >= previous_length ) { -- length = len; -- delete[] *buffer; -- *buffer = new char[len]; -- } -+ resize_selection_buffer(len, clipboard); - if (![found isEqualToString:utf8_format]) { -- strcpy(*buffer, aux_c); -- free(aux_c); -+ strcpy(fl_selection_buffer[clipboard], aux_c); -+ free(aux_c); - } - else { -- [data getBytes:*buffer]; -+ [data getBytes:fl_selection_buffer[clipboard]]; - } -- (*buffer)[len - 1] = 0; -+ fl_selection_buffer[clipboard][len - 1] = 0; - length = len - 1; -- convert_crlf(*buffer, len - 1); // turn all \r characters into \n: -+ convert_crlf(fl_selection_buffer[clipboard], len - 1); // turn all \r characters into \n: - Fl::e_clipboard_type = Fl::clipboard_plain_text; - } - } -@@ -3218,7 +3218,7 @@ void Fl::paste(Fl_Widget &receiver, int - if (clipboard) { - Fl::e_clipboard_type = ""; - if (strcmp(type, Fl::clipboard_plain_text) == 0) { -- fl_selection_length[1] = get_plain_text_from_clipboard( &fl_selection_buffer[1], fl_selection_length[1]); -+ fl_selection_length[1] = get_plain_text_from_clipboard(1); - } - else if (strcmp(type, Fl::clipboard_image) == 0) { - Fl::e_clipboard_data = get_image_from_clipboard( ); -- 1.7.1