Hello community,

here is the log from the commit of package compicc for openSUSE:Factory checked 
in at 2012-11-21 15:09:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/compicc (Old)
 and      /work/SRC/openSUSE:Factory/.compicc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "compicc", Maintainer is ""

Changes:
--------
--- /work/SRC/openSUSE:Factory/compicc/compicc.changes  2012-06-12 
07:07:43.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.compicc.new/compicc.changes     2012-11-21 
15:09:27.000000000 +0100
@@ -1,0 +2,7 @@
+Fri Nov 02 12:00:00 UTC 2012 - [email protected]
+
+- 0.8.6 release
+- update to Oyranos 0.9
+- bug fixes
+
+-------------------------------------------------------------------

Old:
----
  compicc-0.8.5.tar.gz

New:
----
  compicc-0.8.6.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ compicc.spec ++++++
--- /var/tmp/diff_new_pack.Q3ao2o/_old  2012-11-21 15:09:28.000000000 +0100
+++ /var/tmp/diff_new_pack.Q3ao2o/_new  2012-11-21 15:09:28.000000000 +0100
@@ -1,5 +1,5 @@
 #
-# spec file for package compiz
+# spec file for package compicc
 #
 # Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
@@ -17,21 +17,21 @@
 
 
 Name:                compicc
-Version:             0.8.5
-Source:              compicc-0.8.5.tar.gz
+Version:        0.8.6
 Release:             0
-License:             BSD-3-Clause
+Source:         compicc-0.8.6.tar.bz2
 Url:                 http://sourceforge.net/projects/compicc
-Group:               Productivity/Graphics/Other
 %define icondir  /usr/share/ccsm/icons/hicolor/scalable/apps/
 Summary:             Compiz ICC Colour Management Server
-BuildRoot:           %{_tmppath}/%{name}-root
+License:        BSD-3-Clause
+Group:          Productivity/Graphics/Other
+BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 Prefix:              %{_prefix}
 
 # for mandriva; the compiz-devel package comes not with dependencies, so fit 
the compiz way
 %define _disable_ld_no_undefined 1
 
-BuildRequires:       liboyranos-alpha-devel
+BuildRequires:  liboyranos-devel
 Requires:            liboyranos0-monitor
 Recommends:          oyranos-monitor
 Recommends:          oyranos-monitor-nvidia
@@ -41,37 +41,134 @@
 Recommends:          compizconfig-settings-manager < 0.9
 
 %if 0%{?suse_version} > 0
-BuildRequires:       gcc-c++
+BuildRequires:  compiz-devel < 0.9
 BuildRequires:       doxygen
+BuildRequires:  gcc-c++
 BuildRequires:       graphviz
-BuildRequires:       pkgconfig
-BuildRequires:       libpng-devel
+BuildRequires:  libXcm-devel
 BuildRequires:       libjpeg-devel
+BuildRequires:  libpng-devel
+BuildRequires:  libtool
+BuildRequires:  netpbm
+BuildRequires:  pkgconfig
+BuildRequires:  xdg-utils
 BuildRequires:       xorg-x11-Mesa
 BuildRequires:       xorg-x11-Mesa-devel
-BuildRequires:       xdg-utils
-BuildRequires:       compiz-devel < 0.9
-BuildRequires:       libXcm-devel
-BuildRequires:       netpbm
-BuildRequires:       libtool
 %endif
 %if 0%{?suse_version} > 910
-BuildRequires:  bash binutils diffutils file filesystem findutils flex 
fontconfig fontconfig-devel freetype2 freetype2-devel gcc gcc-c++ gdbm 
gdbm-devel gettext gettext-devel glibc glibc-devel grep gzip make patch 
pkgconfig rpm sed tar util-linux zlib zlib-devel
 %endif
 %if 0%{?suse_version} > 1010
-BuildRequires:  Mesa Mesa-devel gcc-c++ gettext doxygen graphviz pkgconfig 
xorg-x11-fonts-devel xorg-x11-libICE xorg-x11-libICE-devel xorg-x11-libSM 
xorg-x11 xorg-x11-devel xorg-x11-libSM-devel xorg-x11-libX11 
xorg-x11-libX11-devel xorg-x11-libXau xorg-x11-libXau-devel xorg-x11-libXdmcp 
xorg-x11-libXdmcp-devel xorg-x11-libXext xorg-x11-libXext-devel 
xorg-x11-libXfixes xorg-x11-libXfixes-devel xorg-x11-libXmu 
xorg-x11-libXmu-devel xorg-x11-libXp xorg-x11-libXp-devel xorg-x11-libXpm 
xorg-x11-libXpm-devel xorg-x11-libXprintUtil xorg-x11-libXprintUtil-devel 
xorg-x11-libXrender xorg-x11-libXrender-devel xorg-x11-libXt 
xorg-x11-libXt-devel xorg-x11-libXv xorg-x11-libXv-devel xorg-x11-libfontenc 
xorg-x11-libfontenc-devel xorg-x11-libs xorg-x11-libxkbfile 
xorg-x11-libxkbfile-devel xorg-x11-proto-devel xorg-x11-util-devel 
xorg-x11-xtrans-devel
+BuildRequires:  Mesa
+BuildRequires:  Mesa-devel
+BuildRequires:  doxygen
+BuildRequires:  gcc-c++
+BuildRequires:  gettext
+BuildRequires:  graphviz
+BuildRequires:  pkgconfig
+BuildRequires:  xorg-x11
+BuildRequires:  xorg-x11-devel
+BuildRequires:  xorg-x11-fonts-devel
+BuildRequires:  xorg-x11-libICE
+BuildRequires:  xorg-x11-libICE-devel
+BuildRequires:  xorg-x11-libSM
+BuildRequires:  xorg-x11-libSM-devel
+BuildRequires:  xorg-x11-libX11
+BuildRequires:  xorg-x11-libX11-devel
+BuildRequires:  xorg-x11-libXau
+BuildRequires:  xorg-x11-libXau-devel
+BuildRequires:  xorg-x11-libXdmcp
+BuildRequires:  xorg-x11-libXdmcp-devel
+BuildRequires:  xorg-x11-libXext
+BuildRequires:  xorg-x11-libXext-devel
+BuildRequires:  xorg-x11-libXfixes
+BuildRequires:  xorg-x11-libXfixes-devel
+BuildRequires:  xorg-x11-libXmu
+BuildRequires:  xorg-x11-libXmu-devel
+BuildRequires:  xorg-x11-libXp
+BuildRequires:  xorg-x11-libXp-devel
+BuildRequires:  xorg-x11-libXpm
+BuildRequires:  xorg-x11-libXpm-devel
+BuildRequires:  xorg-x11-libXprintUtil
+BuildRequires:  xorg-x11-libXprintUtil-devel
+BuildRequires:  xorg-x11-libXrender
+BuildRequires:  xorg-x11-libXrender-devel
+BuildRequires:  xorg-x11-libXt
+BuildRequires:  xorg-x11-libXt-devel
+BuildRequires:  xorg-x11-libXv
+BuildRequires:  xorg-x11-libXv-devel
+BuildRequires:  xorg-x11-libfontenc
+BuildRequires:  xorg-x11-libfontenc-devel
+BuildRequires:  xorg-x11-libs
+BuildRequires:  xorg-x11-libxkbfile
+BuildRequires:  xorg-x11-libxkbfile-devel
+BuildRequires:  xorg-x11-proto-devel
+BuildRequires:  xorg-x11-util-devel
+BuildRequires:  xorg-x11-xtrans-devel
 %endif
 %if 0%{?mandriva_version} > 0
-BuildRequires:  Mesa mesagl-devel gcc-c++ gettext doxygen graphviz pkgconfig 
lcms-devel xdg-utils compiz-devel libXcm-devel netpbm libtool-devel
+BuildRequires:  Mesa
+BuildRequires:  compiz-devel
+BuildRequires:  doxygen
+BuildRequires:  gcc-c++
+BuildRequires:  gettext
+BuildRequires:  graphviz
+BuildRequires:  lcms-devel
+BuildRequires:  libXcm-devel
+BuildRequires:  libtool-devel
+BuildRequires:  mesagl-devel
+BuildRequires:  netpbm
+BuildRequires:  pkgconfig
+BuildRequires:  xdg-utils
 %endif
 %if 0%{?fedora_version} > 0
-BuildRequires:  Mesa Mesa-devel gcc-c++ doxygen pkgconfig    xorg-x11-devel 
xorg-x11-Mesa-devel libXxf86vm-devel  liblcms-devel xdg-utils libXcm-devel 
libXrandr-devel libXinerama-devel libXmu-devel netpbm elektra-devel compiz-devel
+BuildRequires:  Mesa
+BuildRequires:  Mesa-devel
+BuildRequires:  compiz-devel
+BuildRequires:  doxygen
+BuildRequires:  elektra-devel
+BuildRequires:  gcc-c++
+BuildRequires:  libXcm-devel
+BuildRequires:  libXinerama-devel
+BuildRequires:  libXmu-devel
+BuildRequires:  libXrandr-devel
+BuildRequires:  libXxf86vm-devel
+BuildRequires:  liblcms-devel
+BuildRequires:  netpbm
+BuildRequires:  pkgconfig
+BuildRequires:  xdg-utils
+BuildRequires:  xorg-x11-Mesa-devel
+BuildRequires:  xorg-x11-devel
 %endif
 %if 0%{?debian_version} > 0
-BuildRequires: gcc-c++ gettext doxygen graphviz fltk fltk-devel libpng-devel 
libjpeg-devel pkgconfig xorg-x11 xorg-x11-devel xorg-x11-Mesa-devel 
xorg-x11-libXext xorg-x11-libXext-devel  xorg-x11-libXpm xorg-x11-libXpm-devel  
libtiff-devel libxml2-devel cairo-devel liblcms-devel elektra-devel xdg-utils 
cups-devel libqt4-devel compiz-devel libXcm-dev netpbm
+BuildRequires:  cairo-devel
+BuildRequires:  compiz-devel
+BuildRequires:  cups-devel
+BuildRequires:  doxygen
+BuildRequires:  elektra-devel
+BuildRequires:  fltk
+BuildRequires:  fltk-devel
+BuildRequires:  gcc-c++
+BuildRequires:  gettext
+BuildRequires:  graphviz
+BuildRequires:  libXcm-dev
+BuildRequires:  libjpeg-devel
+BuildRequires:  liblcms-devel
+BuildRequires:  libpng-devel
+BuildRequires:  libqt4-devel
+BuildRequires:  libtiff-devel
+BuildRequires:  libxml2-devel
+BuildRequires:  netpbm
+BuildRequires:  pkgconfig
+BuildRequires:  xdg-utils
+BuildRequires:  xorg-x11
+BuildRequires:  xorg-x11-Mesa-devel
+BuildRequires:  xorg-x11-devel
+BuildRequires:  xorg-x11-libXext
+BuildRequires:  xorg-x11-libXext-devel
+BuildRequires:  xorg-x11-libXpm
+BuildRequires:  xorg-x11-libXpm-devel
 %endif
 
-
 %description
 The Compiz ICC colour server, or short compicc, lets you colour manage your 
 whole desktop at once and in hardware. Play movies, watch images on wide or 
@@ -90,7 +187,6 @@
 make DESTDIR=%{buildroot} install-main
 rm -fr %{buildroot}/%{_datadir}/doc/%{name}
 
-
 %post
 /sbin/ldconfig
 # enable the plugin
@@ -114,5 +210,4 @@
 %dir %{icondir}/
 %{icondir}/plugin-compicc.svg
 
-
 %changelog

++++++ compicc-0.8.5.tar.gz -> compicc-0.8.6.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/compicc-0.8.5/ChangeLog new/compicc-0.8.6/ChangeLog
--- old/compicc-0.8.5/ChangeLog 2011-05-06 14:31:59.000000000 +0200
+++ new/compicc-0.8.6/ChangeLog 2012-11-02 09:18:32.000000000 +0100
@@ -1,3 +1,57 @@
+Version 0.8.6
+
+Kai-Uwe Behrmann (9):
+       * [docu]: update requirements to Oyranos >= 0.9.0
+       * [core]: compile with oyranos:gsoc2011 branch
+       * [docu]: add wiki page
+       * [build]: use spdx.org format for spec file
+       * [core]: render outputs as well without profile
+       * [core]: initialise string once
+       * [build]: require ccsm in spec file
+       * [build]: require newer Xcm versions in spec file
+       * [conf]: bump version
+
+Version 0.8.5
+
+Kai-Uwe Behrmann (34):
+       * [build]: minor spec fixes
+       * [core]: fix unused comment
+       * [core]: fix wrong variable access from #90d2df89
+       * [build]: adapt to openSUSE spec file
+       * [build]: remove non existent file
+       * [core]: update to Xcm changes
+       * [core]: use module provided hash
+       * [core]: support colour correction to multi monitor
+       * [core]: count window region
+       * [core]: use GL_EQUAL in pluginDrawWindow
+       * [core]: update to x_color_region_target
+       * [core]: store stencil start per window
+       * [core]: compute stencil ID during drawing
+       * [core]: clean up to 200 monitors
+       * [core]: do not use context description hook
+       * [core]: tell Oyranos we are a display
+       * [core]: fix string length array
+       * [core]: move ICC setup inside
+       * [core]: omit EDID removal
+       * [docu]: update NET to ICC atoms prefix
+       * [conf]: prepare C++ builds
+       * [conf]: bump libXcm requirement to 0.5
+       * [conf]: require libXcm during configure
+       * [core]: rename net-color spec
+       * [core]: support per region profiles
+       * [core]: make allocations fit for C++
+       * [core]: modularise CLUT creation
+       * [core]: add PrivColorContext
+       * [core]: cache profiles in Oyranos
+       * [core]: fix debug messages
+       * [core]: clean unused cruft
+       * [core]: improve debug clut images
+       * [conf]: bump version
+       * [docu]: update ChangeLog
+
+Tomas Carnecky (1):
+       * [core]: remerge with old profile code
+
 Version 0.8.4
 
 Kai-Uwe Behrmann (36):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/compicc-0.8.5/README new/compicc-0.8.6/README
--- old/compicc-0.8.5/README    2012-01-09 09:18:51.000000000 +0100
+++ new/compicc-0.8.6/README    2012-11-02 07:59:20.000000000 +0100
@@ -42,8 +42,8 @@
 
 
 Dependencies:
-    Compiz
-    Oyranos colour management system
+    Compiz 0.8.x
+    Oyranos colour management system >= 0.9.0
 
   Debian:
     locales
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/compicc-0.8.5/compicc.c new/compicc-0.8.6/compicc.c
--- old/compicc-0.8.5/compicc.c 2012-02-18 23:20:49.000000000 +0100
+++ new/compicc-0.8.6/compicc.c 2012-10-22 13:53:54.000000000 +0200
@@ -39,9 +39,11 @@
 
 #include <compiz-common.h>
 
-#include <alpha/oyranos_alpha.h>
-#include <alpha/oyranos_cmm.h> // oyCMMptr_New
-#include <oyranos_definitions.h> /* ICC Profile in X */
+#include <oyranos_devices.h>
+#include <oyConversion_s.h>
+#include <oyFilterGraph_s.h>
+#include <oyFilterNode_s.h>
+#include <oyRectangle_s.h>
 
 #include <X11/Xcm/Xcm.h>
 #include <X11/Xcm/XcmEvents.h>
@@ -104,7 +106,18 @@
 #define END_CLOCK
 #endif
 
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+void* oyAllocateFunc_           (size_t        size);
+void  oyDeAllocateFunc_         (void *        data);
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
 
+void* cicc_alloc                (size_t        size) { void * p = 
oyAllocateFunc_(size); memset(p,0,size); return p; }
+void  cicc_free                 (void *        data) { 
oyDeAllocateFunc_(data); }
 
 typedef CompBool (*dispatchObjectProc) (CompPlugin *plugin, CompObject 
*object, void *privateData);
 
@@ -150,7 +163,7 @@
 /**
  * Output profiles are currently only fetched using XRandR. For backwards 
  * compatibility the code should fall back to root window properties 
- * (OY_ICC_V0_3_TARGET_PROFILE_IN_X_BASE).
+ * (XCM_ICC_V0_3_TARGET_PROFILE_IN_X_BASE).
  */
 typedef struct {
   char name[32];
@@ -293,7 +306,7 @@
   oyPointer ptr = o->privates[index].ptr;
   o->privates[index].ptr = NULL;
   if(ptr)
-    free(ptr);
+    cicc_free(ptr);
 }
 
 
@@ -334,10 +347,9 @@
  */
 static const char *md5string(const uint8_t md5[16])
 {
-       static char buffer[33];
+       static char buffer[33] = {0};
        const uint32_t * h = (const uint32_t*)md5;
 
-       buffer[0] = 0;
        sprintf( buffer, "%x%x%x%x", h[0],h[1],h[2],h[3]);
 
        return buffer;
@@ -496,7 +508,7 @@
   for (unsigned long i = 0; i < count; ++i)
   {
     const char * hash_text = md5string(profile->md5);
-    entry = oyCacheListGetEntry_( cache, exact_hash_size, hash_text );
+    entry = oyStructList_GetHash( cache, exact_hash_size, hash_text );
     prof = (oyProfile_s *) oyHash_GetPointer( entry, oyOBJECT_PROFILE_S);
     /* XcolorProfile::length == 0 means the clients wants to delete the 
profile. */
     if( ntohl(profile->length) )
@@ -532,14 +544,13 @@
 oyProfile_s *  profileFromMD5        ( uint8_t           * md5 )
 {
   uint32_t exact_hash_size = 0;
-  oyHash_s * entry;
   oyProfile_s * prof = NULL;
   oyStructList_s * cache = pluginGetPrivatesCache();
 
   /* Copy the profiles into the array, and create the Oyranos handles. */
   const char * hash_text = md5string(md5);
-  entry = oyCacheListGetEntry_( cache, exact_hash_size, hash_text );
-  prof = (oyProfile_s *) oyHash_GetPointer( entry, oyOBJECT_PROFILE_S);
+  prof = (oyProfile_s *) oyStructList_GetHashStruct( cache, exact_hash_size,
+                                               hash_text, oyOBJECT_PROFILE_S );
 
   return prof;
 }
@@ -570,19 +581,19 @@
         {
           oyProfile_Release( &pw->pRegion[i].cc[j]->dst_profile );
           oyProfile_Release( &pw->pRegion[i].cc[j]->src_profile );
-          if(ps->contexts[i].cc.glTexture)
+          if(&pw->pRegion[i].cc[j]->glTexture)
             glDeleteTextures( 1, &pw->pRegion[i].cc[j]->glTexture );
-          free( pw->pRegion[i].cc[j] );
+          cicc_free( pw->pRegion[i].cc[j] );
           pw->pRegion[i].cc[j] = NULL;
         }
         else
           break;
       }
-      free( pw->pRegion[i].cc ); pw->pRegion[i].cc = 0;
+      cicc_free( pw->pRegion[i].cc ); pw->pRegion[i].cc = 0;
     }
   }
   if (pw->nRegions)
-    free(pw->pRegion);
+    cicc_free(pw->pRegion);
   pw->nRegions = 0;
   oyRectangle_Release( &pw->absoluteWindowRectangleOld );
 
@@ -597,7 +608,7 @@
   if(data)
     count += XcolorRegionCount(data, nBytes + 1);
 
-  pw->pRegion = (PrivColorRegion*) calloc(count,sizeof(PrivColorRegion));
+  pw->pRegion = (PrivColorRegion*) cicc_alloc(count * sizeof(PrivColorRegion));
   if (pw->pRegion == NULL)
     goto out;
 
@@ -619,7 +630,7 @@
 
     if(memcmp(region->md5,n,16) != 0)
     {
-      pw->pRegion[i].cc = (PrivColorContext**)calloc( ps->nContexts + 1,
+      pw->pRegion[i].cc = (PrivColorContext**)cicc_alloc( (ps->nContexts + 1) *
                                                     sizeof(PrivColorContext*));
       if(!pw->pRegion[i].cc)
       {
@@ -630,7 +641,7 @@
 
       for(unsigned long j = 0; j < ps->nContexts; ++j)
       {
-        pw->pRegion[i].cc[j] = (PrivColorContext*) calloc( 1,
+        pw->pRegion[i].cc[j] = (PrivColorContext*) cicc_alloc(
                                                      sizeof(PrivColorContext) 
);
 
         if(!pw->pRegion[i].cc[j])
@@ -737,7 +748,7 @@
 {
   char num[12];
   Window root = RootWindow( s->display->display, 0 );
-  char * icc_profile_atom = (char*)calloc( 1024, sizeof(char) );
+  char * icc_profile_atom = (char*)cicc_alloc( 1024 );
   Atom a;
   oyPointer data;
   unsigned long n = 0;
@@ -746,10 +757,10 @@
 
   snprintf( num, 12, "%d", (int)screen );
   if(server)
-  snprintf( icc_profile_atom, 1024, 
OY_ICC_COLOUR_SERVER_TARGET_PROFILE_IN_X_BASE"%s%s", 
+  snprintf( icc_profile_atom, 1024, XCM_DEVICE_PROFILE"%s%s", 
             screen ? "_" : "", screen ? num : "" );
   else
-  snprintf( icc_profile_atom, 1024, 
OY_ICC_V0_3_TARGET_PROFILE_IN_X_BASE"%s%s", 
+  snprintf( icc_profile_atom, 1024, 
XCM_ICC_V0_3_TARGET_PROFILE_IN_X_BASE"%s%s", 
             screen ? "_" : "", screen ? num : "" );
 
 
@@ -758,7 +769,7 @@
   data = fetchProperty( s->display->display, root, a, XA_CARDINAL,
                           &n, False);
   if(data) XFree(data);
-  free(icc_profile_atom);
+  cicc_free(icc_profile_atom);
   return (int)n;
 }
 
@@ -768,17 +779,17 @@
 {
   char num[12];
   Window root = RootWindow( s->display->display, 0 );
-  char * icc_profile_atom = (char*)calloc( 1024, sizeof(char) );
+  char * icc_profile_atom = (char*)cicc_alloc( 1024 );
   Atom a;
 
   if(!icc_profile_atom) return 0;
 
   snprintf( num, 12, "%d", (int)screen );
   if(server)
-  snprintf( icc_profile_atom, 1024, 
OY_ICC_COLOUR_SERVER_TARGET_PROFILE_IN_X_BASE"%s%s", 
+  snprintf( icc_profile_atom, 1024, XCM_DEVICE_PROFILE"%s%s", 
             screen ? "_" : "", screen ? num : "" );
   else
-  snprintf( icc_profile_atom, 1024, 
OY_ICC_V0_3_TARGET_PROFILE_IN_X_BASE"%s%s", 
+  snprintf( icc_profile_atom, 1024, 
XCM_ICC_V0_3_TARGET_PROFILE_IN_X_BASE"%s%s", 
             screen ? "_" : "", screen ? num : "" );
 
 
@@ -807,8 +818,8 @@
   PrivScreen * ps = compObjectGetPrivate((CompObject *) s);
   char num[12];
   Window root = RootWindow( s->display->display, 0 );
-  char * icc_profile_atom = (char*)calloc( 1024, sizeof(char) ),
-       * icc_colour_server_profile_atom = (char*)calloc( 1024, sizeof(char) );
+  char * icc_profile_atom = (char*)cicc_alloc( 1024 ),
+       * icc_colour_server_profile_atom = (char*)cicc_alloc( 1024 );
   Atom a,da, source_atom, target_atom;
 
   oyPointer source;
@@ -817,9 +828,9 @@
   int updated_icc_color_desktop_atom = 0;
 
   snprintf( num, 12, "%d", (int)screen );
-  snprintf( icc_profile_atom, 1024, 
OY_ICC_V0_3_TARGET_PROFILE_IN_X_BASE"%s%s", 
+  snprintf( icc_profile_atom, 1024, 
XCM_ICC_V0_3_TARGET_PROFILE_IN_X_BASE"%s%s", 
             screen ? "_" : "", screen ? num : "" );
-  snprintf( icc_colour_server_profile_atom, 1024, 
OY_ICC_COLOUR_SERVER_TARGET_PROFILE_IN_X_BASE"%s%s", 
+  snprintf( icc_colour_server_profile_atom, 1024, XCM_DEVICE_PROFILE"%s%s", 
             screen ? "_" : "", screen ? num : "" );
 
   a = XInternAtom(s->display->display, icc_profile_atom, False);
@@ -858,12 +869,12 @@
                        target_atom, XA_CARDINAL,
                        source, source_n );
     }
-    XFree( source );
+    if(source) XFree( source );
     source = 0; source_n = 0;
 
     if(init)
     {
-      /* setup the OY_ICC_V0_3_TARGET_PROFILE_IN_X_BASE(_xxx) atom as document 
colour space */
+      /* setup the XCM_ICC_V0_3_TARGET_PROFILE_IN_X_BASE(_xxx) atom as 
document colour space */
       size_t size = 0;
       oyProfile_s * screen_document_profile = oyProfile_FromStd( oyASSUMED_WEB,
                                                                  0 );
@@ -874,7 +885,8 @@
 
       /* make shure the profile is ignored */
 
-      source = oyProfile_GetMem( screen_document_profile, &size, 0, malloc );
+      source = oyProfile_GetMem( screen_document_profile, &size, 0, cicc_alloc 
);
+      oyProfile_Release( &screen_document_profile );
       source_n = size;
 
       if(!updated_icc_color_desktop_atom)
@@ -882,14 +894,14 @@
         updateNetColorDesktopAtom( s, ps, 2 );
         updated_icc_color_desktop_atom = 1;
       }
+
       if(source_n)
       {
         changeProperty ( s->display->display,
                          source_atom, XA_CARDINAL,
                          source, source_n );
       }
-      oyProfile_Release( &screen_document_profile );
-      if(source) free( source ); source = 0;
+      if(source) cicc_free( source ); source = 0;
     } else
     {
       /* clear/erase the _ICC_DEVICE_PROFILE(_xxx) atom */
@@ -902,14 +914,13 @@
                         DBG_STRING"icc_colour_server_profile_atom already 
present %d size:%lu",
                         DBG_ARGS, target_atom, target_n );
 
-  if(icc_profile_atom) free(icc_profile_atom);
-  if(icc_colour_server_profile_atom) free(icc_colour_server_profile_atom);
+  if(icc_profile_atom) cicc_free(icc_profile_atom);
+  if(icc_colour_server_profile_atom) cicc_free(icc_colour_server_profile_atom);
 }
 
 void           cleanDisplay          ( Display           * display )
 {
-  int error = 0,
-      n;
+  int error = 0;
   oyOptions_s * options = 0;
   oyConfigs_s * devices = 0;
   char * display_name = 0, * t;
@@ -928,11 +939,11 @@
                                    "unset", OY_CREATE_NEW );
     if(display_name)
     {
-      t = calloc(sizeof(char), strlen(display_name) + 8);
+      t = cicc_alloc( strlen(display_name) + 8 );
     } else
     {
       display_name = strdup(":0");
-      t = calloc(sizeof(char), 8);
+      t = cicc_alloc( 8);
     }
 
     if(t && display_name)
@@ -959,7 +970,6 @@
                                    "//" OY_TYPE_STD "/config/display_name",
                                    display_name, OY_CREATE_NEW );
     error = oyDevicesGet( OY_TYPE_STD, "monitor", options, &devices );
-    n = oyConfigs_Count( devices );
     oyConfigs_Release( &devices );
     oyOptions_Release( &options );
 
@@ -986,8 +996,8 @@
     oyConfigs_Release( &devices );
     oyOptions_Release( &options );
 
-    free(display_name); display_name = 0;
-    free(t); t = 0;
+    cicc_free(display_name); display_name = 0;
+    cicc_free(t); t = 0;
 }
 
 static int     getDeviceProfile      ( CompScreen        * s,
@@ -1011,7 +1021,7 @@
                       DBG_STRING"monitor rectangle request failed", DBG_ARGS);
       return 1;
     }
-    r = (oyRectangle_s*) oyOption_StructGet( o, oyOBJECT_RECTANGLE_S );
+    r = (oyRectangle_s*) oyOption_GetStruct( o, oyOBJECT_RECTANGLE_S );
     if( !r )
     {
       oyCompLogMessage( s->display, "compicc", CompLogLevelWarn,
@@ -1020,10 +1030,10 @@
     }
     oyOption_Release( &o );
 
-    output->xRect.x = r->x;
-    output->xRect.y = r->y;
-    output->xRect.width = r->width;
-    output->xRect.height = r->height;
+    output->xRect.x = oyRectangle_GetGeo1( r, 0 );
+    output->xRect.y = oyRectangle_GetGeo1( r, 1 );
+    output->xRect.width = oyRectangle_GetGeo1( r, 2 );
+    output->xRect.height = oyRectangle_GetGeo1( r, 3 );
 
     device_name = oyConfig_FindString( device, "device_name", 0 );
     if(device_name && device_name[0])
@@ -1085,17 +1095,24 @@
 {
   oyConversion_s * cc;
   int error = 0;
+  oyProfile_s * dst_profile = ccontext->dst_profile, * web = 0;
+
+    if(!ccontext->dst_profile)
+      dst_profile = web = oyProfile_FromStd( oyASSUMED_WEB, 0 );
 
-    if (ccontext->dst_profile)
     {
       int flags = 0;
+      int ** ptr;
 
-      oyProfile_s * src_profile = ccontext->src_profile,
-                  * dst_profile = ccontext->dst_profile;
+      oyProfile_s * src_profile = ccontext->src_profile;
       oyOptions_s * options = 0;
 
       oyPixel_t pixel_layout = OY_TYPE_123_16;
 
+      /* skip web to web conversion */
+      if(!src_profile && web)
+        goto clean_setupColourTable;
+
       if(!src_profile)
         src_profile = oyProfile_FromStd( oyASSUMED_WEB, 0 );
 
@@ -1129,7 +1146,7 @@
         oyCompLogMessage( NULL, "compicc", CompLogLevelWarn,
                       DBG_STRING "no conversion created for %s",
                       DBG_ARGS, ccontext->output_name);
-        return;
+        goto clean_setupColourTable;
       }
       oyOptions_Release( &options );
 
@@ -1142,7 +1159,7 @@
         oyCompLogMessage( NULL, "compicc", CompLogLevelWarn,
                       DBG_STRING "oyConversion_Correct(///icc,%d,0) failed %s",
                       DBG_ARGS, flags, ccontext->output_name);
-        return;
+        goto clean_setupColourTable;
       }
 
       oyFilterGraph_s * cc_graph = oyConversion_GetGraph( cc );
@@ -1159,7 +1176,7 @@
       oyHash_s * entry;
       oyArray2d_s * clut = NULL;
       oyStructList_s * cache = pluginGetPrivatesCache();
-      entry = oyCacheListGetEntry_( cache, exact_hash_size, hash_text );
+      entry = oyStructList_GetHash( cache, exact_hash_size, hash_text );
       clut = (oyArray2d_s*) oyHash_GetPointer( entry, oyOBJECT_ARRAY2D_S);
       oyFilterNode_Release( &icc );
       oyFilterGraph_Release( &cc_graph );
@@ -1169,9 +1186,11 @@
                       DBG_STRING "clut from cache %s %s",
                       DBG_ARGS, clut?"obtained":"", hash_text);
       if(clut)
-        memcpy( ccontext->clut, clut->array2d[0], 
+      {
+        ptr = oyArray2d_GetData(clut);
+        memcpy( ccontext->clut, ptr[0], 
                 sizeof(GLushort) * GRIDPOINTS*GRIDPOINTS*GRIDPOINTS * 3 );
-      else
+      } else
       {
         uint16_t in[3];
         for (int r = 0; r < GRIDPOINTS; ++r)
@@ -1199,10 +1218,11 @@
           oyCompLogMessage( NULL, "compicc", CompLogLevelWarn,
                       DBG_STRING "oyConversion_RunPixels() error: %d %s",
                       DBG_ARGS, error, ccontext->output_name);
-          return;
+          goto clean_setupColourTable;
         }
 
-        memcpy( clut->array2d[0], ccontext->clut,
+        ptr = oyArray2d_GetData(clut);
+        memcpy( ptr[0], ccontext->clut,
                 sizeof(GLushort) * GRIDPOINTS*GRIDPOINTS*GRIDPOINTS * 3 );
 
         oyHash_SetPointer( entry, (oyStruct_s*) clut );
@@ -1210,7 +1230,7 @@
 
       if(hash_text)
       {
-        free(hash_text); hash_text = 0;
+        cicc_free(hash_text); hash_text = 0;
       }
 
 
@@ -1221,12 +1241,18 @@
 
       cdCreateTexture( ccontext );
 
-    } else {
+    }
+
+    if(!ccontext->dst_profile)
+    {
       oyCompLogMessage( NULL, "compicc", CompLogLevelInfo,
                       DBG_STRING "Output \"%s\": no profile",
                       DBG_ARGS, ccontext->output_name);
     }
 
+    clean_setupColourTable:
+    if(web)
+      oyProfile_Release( &web );
 }
 
 static int     getDisplayAdvanced    ( CompScreen        * s,
@@ -1287,7 +1313,7 @@
         glDeleteTextures( 1, &ps->contexts[i].cc.glTexture );
       ps->contexts[i].cc.glTexture = 0;
     }
-    free(ps->contexts);
+    cicc_free(ps->contexts);
   }
 }
 
@@ -1301,6 +1327,10 @@
 
     /* get number of connected devices */
     error = oyDevicesGet( OY_TYPE_STD, "monitor", 0, &devices );
+    if(error > 0)
+          oyCompLogMessage( NULL, "compicc", CompLogLevelWarn,
+                      DBG_STRING "oyDevicesGet() error: %d",
+                      DBG_ARGS, error);
     n = oyConfigs_Count( devices );
     oyConfigs_Release( &devices );
 
@@ -1331,7 +1361,7 @@
   {
     int i;
     ps->nContexts = n;
-    ps->contexts = (PrivColorOutput*)calloc( ps->nContexts,
+    ps->contexts = (PrivColorOutput*)cicc_alloc( ps->nContexts *
                                              sizeof(PrivColorOutput ));
     for(i = 0; i < n; ++i)
       ps->contexts[i].cc.ref = 1;
@@ -1352,7 +1382,6 @@
 {
   PrivScreen *ps = compObjectGetPrivate((CompObject *) s);
   int error = 0,
-      n,
       set = 1;
   oyOptions_s * options = 0;
   oyConfigs_s * devices = 0;
@@ -1368,10 +1397,12 @@
   error = oyOptions_SetFromText( &options, "//" OY_TYPE_STD 
"/config/device_rectangle",
                                  "true", OY_CREATE_NEW );
   error = oyDevicesGet( OY_TYPE_STD, "monitor", options, &devices );
-  n = oyOptions_Count( options );
+  if(error > 0)
+          oyCompLogMessage( NULL, "compicc", CompLogLevelWarn,
+                      DBG_STRING "oyDevicesGet() error: %d",
+                      DBG_ARGS, error);
   oyOptions_Release( &options );
 
-  n = oyConfigs_Count( devices );
 
   if(colour_desktop_can)
   for (unsigned long i = 0; i < ps->nContexts; ++i)
@@ -1379,12 +1410,17 @@
     device = oyConfigs_Get( devices, i );
 
     if(init)
+    {
       error = getDeviceProfile( s, ps, device, i );
+      if(error > 0)
+          oyCompLogMessage( NULL, "compicc", CompLogLevelWarn,
+                      DBG_STRING "getDeviceProfile() error: %d",
+                      DBG_ARGS, error);
+    }
 
     if(ps->contexts[i].cc.dst_profile)
     {
       moveICCprofileAtoms( s, i, set );
-      setupOutputTable( s, device, i );
     } else
     {
       oyCompLogMessage( s->display, "compicc", CompLogLevelDebug,
@@ -1392,6 +1428,7 @@
                   DBG_ARGS, i, ps->nContexts, &ps->contexts[i],
                   ps->contexts[i].cc.dst_profile);
     }
+    setupOutputTable( s, device, i );
 
     oyConfig_Release( &device );
   }
@@ -1450,25 +1487,25 @@
 
     /* update for a changing monitor profile */
     } else if(
-           strstr( atom_name, OY_ICC_V0_3_TARGET_PROFILE_IN_X_BASE) != 0/* &&
+           strstr( atom_name, XCM_ICC_V0_3_TARGET_PROFILE_IN_X_BASE) != 0/* &&
            strstr( atom_name, "ICC_PROFILE_IN_X") == 0*/ )
     {
       if(colour_desktop_can)
       {
         int screen = 0;
         int ignore_profile = 0;
-        char * icc_colour_server_profile_atom = (char*)malloc(1024);
+        char * icc_colour_server_profile_atom = (char*)cicc_alloc(1024);
         char num[12];
         Atom da;
         unsigned long n = 0;
 
-        if(strlen(atom_name) > strlen(OY_ICC_V0_3_TARGET_PROFILE_IN_X_BASE"_"))
+        if(strlen(atom_name) > 
strlen(XCM_ICC_V0_3_TARGET_PROFILE_IN_X_BASE"_"))
         sscanf( (const char*)atom_name,
-                OY_ICC_V0_3_TARGET_PROFILE_IN_X_BASE "_%d", &screen );
+                XCM_ICC_V0_3_TARGET_PROFILE_IN_X_BASE "_%d", &screen );
         snprintf( num, 12, "%d", (int)screen );
 
         snprintf( icc_colour_server_profile_atom, 1024,
-                  OY_ICC_COLOUR_SERVER_TARGET_PROFILE_IN_X_BASE"%s%s",
+                  XCM_DEVICE_PROFILE"%s%s",
                   screen ? "_" : "", screen ? num : "" );
 
         da = XInternAtom( d->display, icc_colour_server_profile_atom, False);
@@ -1516,7 +1553,7 @@
           }
         }
 
-        if(icc_colour_server_profile_atom) 
free(icc_colour_server_profile_atom);
+        if(icc_colour_server_profile_atom) 
cicc_free(icc_colour_server_profile_atom);
 
         if(!ignore_profile &&
            /* change only existing profiles, ignore removed ones */
@@ -1675,8 +1712,8 @@
   {
     forEachWindowOnScreen(s, damageWindow, NULL);
 
-    if(w->serverWidth != pw->absoluteWindowRectangleOld->width ||
-       w->serverHeight != pw->absoluteWindowRectangleOld->height)
+    if(w->serverWidth != oyRectangle_GetGeo1( pw->absoluteWindowRectangleOld, 
2 ) ||
+       w->serverHeight != oyRectangle_GetGeo1( pw->absoluteWindowRectangleOld, 
3 ))
       updateWindowRegions( w );
 
     oyRectangle_SetByRectangle( pw->absoluteWindowRectangleOld, rect );
@@ -1846,7 +1883,7 @@
 
       /* Now draw the window texture */
       UNWRAP(ps, s, drawWindowTexture);
-      if(c->dst_profile && c->glTexture)
+      if(c->glTexture)
         (*s->drawWindowTexture) (w, texture, &fa, mask);
       else
         /* ignore the shader */
@@ -1946,8 +1983,8 @@
   if(!colour_desktop_can)
     return 1;
 
-  atom_colour_server_name = (char*)malloc(1024);
-  atom_capabilities_text = (char*)malloc(1024);
+  atom_colour_server_name = (char*)cicc_alloc(1024);
+  atom_capabilities_text = (char*)cicc_alloc(1024);
   if(!atom_colour_server_name || !atom_capabilities_text)
   {
     status = 3;
@@ -2014,7 +2051,7 @@
   if( (atom_time + 10) < icc_color_desktop_last_time ||
       request == 2 )
   {
-    char * atom_text = (char*)malloc(1024);
+    char * atom_text = (char*)cicc_alloc(1024);
     if(!atom_text) goto clean_updateNetColorDesktopAtom;
     sprintf( atom_text, "%d %ld %s %s",
              (int)pid, (long)cutime,
@@ -2036,12 +2073,12 @@
       colour_desktop_can = 0;
     }
 
-    if(atom_text) free( atom_text );
+    if(atom_text) cicc_free( atom_text );
   }
 
 clean_updateNetColorDesktopAtom:
-  if(atom_colour_server_name) free(atom_colour_server_name);
-  if(atom_capabilities_text) free(atom_capabilities_text);
+  if(atom_colour_server_name) cicc_free(atom_colour_server_name);
+  if(atom_capabilities_text) cicc_free(atom_capabilities_text);
 
   icc_color_desktop_last_time = cutime;
 
@@ -2167,14 +2204,15 @@
   PrivScreen *ps = privateData;
 
   int error = 0,
-      n,
       init = 0;
   oyConfigs_s * devices = 0;
   oyConfig_s * device = 0;
 
   error = oyDevicesGet( OY_TYPE_STD, "monitor", 0, &devices );
-
-  n = oyConfigs_Count( devices );
+  if(error > 0)
+          oyCompLogMessage( NULL, "compicc", CompLogLevelWarn,
+                      DBG_STRING "oyDevicesGet() error: %d",
+                      DBG_ARGS, error);
 
   /* switch profile atoms back */
   for(int i = 0; i < ps->nContexts; ++i)
@@ -2275,7 +2313,7 @@
     return 0;
 
   {
-    o->privates[index].ptr = malloc(size);
+    o->privates[index].ptr = cicc_alloc(size);
     if(!o->privates[index].ptr) return 0;
     memset( o->privates[index].ptr, 0, size);
   }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/compicc-0.8.5/compicc.spec.in 
new/compicc-0.8.6/compicc.spec.in
--- old/compicc-0.8.5/compicc.spec.in   2012-02-23 21:19:51.000000000 +0100
+++ new/compicc-0.8.6/compicc.spec.in   2012-06-06 21:46:48.000000000 +0200
@@ -1,8 +1,8 @@
 Summary:             Compiz ICC Colour Management
 Name:                compicc
-License:             BSD
+License:             BSD-3-Clause
 Group:               Productivity/Graphics/Other
-URL:                 http://sourceforge.net/projects/compicc
+Url:                 http://sourceforge.net/projects/compicc
 Vendor:              Kai-Uwe Behrmann
 BuildRoot: %{_tmppath}/%{name}-root
 Prefix:    %{_prefix}
@@ -10,11 +10,29 @@
 # for mandriva; the compiz-devel package comes not with dependencies, so fit 
the compiz way
 %define _disable_ld_no_undefined 1
 
-BuildRequires:       liboyranos-alpha-devel
-Requires:            liboyranos0-monitor compiz
+BuildRequires:       liboyranos-alpha-devel >= 0.4.0
+Requires:            liboyranos0-monitor >= 0.4.0
+Recommends:          oyranos-monitor
+Recommends:          oyranos-monitor-nvidia
+Recommends:          oyranos-qcmsevents
+BuildRequires:       compiz < 0.9
+Requires:            compiz < 0.9
+Requires:            compizconfig-settings-manager < 0.9
 
 %if 0%{?suse_version} > 0
-BuildRequires:     gcc-c++ doxygen graphviz pkgconfig  libpng-devel 
libjpeg-devel xorg-x11-Mesa xorg-x11-Mesa-devel liblcms-devel xdg-utils 
compiz-devel libXcm-devel netpbm
+BuildRequires:       gcc-c++
+BuildRequires:       doxygen
+BuildRequires:       graphviz
+BuildRequires:       pkgconfig
+BuildRequires:       libpng-devel
+BuildRequires:       libjpeg-devel
+BuildRequires:       xorg-x11-Mesa
+BuildRequires:       xorg-x11-Mesa-devel
+BuildRequires:       xdg-utils
+BuildRequires:       compiz-devel < 0.9
+BuildRequires:       libXcm-devel >= 0.5.0
+BuildRequires:       netpbm
+BuildRequires:       libtool
 %endif
 %if 0%{?suse_version} > 910
 BuildRequires:  bash binutils diffutils file filesystem findutils flex 
fontconfig fontconfig-devel freetype2 freetype2-devel gcc gcc-c++ gdbm 
gdbm-devel gettext gettext-devel glibc glibc-devel grep gzip make patch 
pkgconfig rpm sed tar util-linux zlib zlib-devel
@@ -54,13 +72,13 @@
 
 
 %post
-ldconfig
+/sbin/ldconfig
 # enable the plugin
 test -f /usr/share/compizconfig/global.xml && (if [ "`cat 
/usr/share/compizconfig/global.xml | grep compicc | wc -l`" = "0" ]; then cat 
/usr/share/compizconfig/global.xml | sed 
's/<value>core<\/value>/<value>core<\/value>\n                                  
      <value>compicc<\/value>/'> ccp_global.xml; mv -v ccp_global.xml 
/usr/share/compizconfig/global.xml; fi)
 exit 0
 
 %postun
-ldconfig
+/sbin/ldconfig
 
 %files
 %defattr(-, root, root)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/compicc-0.8.5/configure new/compicc-0.8.6/configure
--- old/compicc-0.8.5/configure 2012-02-23 20:01:20.000000000 +0100
+++ new/compicc-0.8.6/configure 2012-03-08 21:53:05.000000000 +0100
@@ -35,7 +35,7 @@
 
 VERSION_A=0
 VERSION_B=8
-VERSION_C=5
+VERSION_C=6
 VERSION_ABI_A=1
 VERSION_ABI_B=0
 RELEASE=0
@@ -852,7 +852,7 @@
 test -n "$ECHO" && $ECHO "" >> $VERS_H
 
 test -n "$RPMECHO" && $RPMECHO "Version:         $VERSION" >> $SPEC
-test -n "$RPMECHO" && $RPMECHO "Source:          $TARGET"-"$VERSION".tar.gz >> 
$SPEC
+test -n "$RPMECHO" && $RPMECHO "Source:          $TARGET"-"$VERSION".tar.bz2 
>> $SPEC
 test -n "$RPMECHO" && $RPMECHO "Release:         $RELEASE" >> $SPEC
 test -n "$RPMECHO" && $RPMECHO "%define icondir  $icondir" >> $SPEC
 test -n "$RPMECHO" && cat  $ROOT_DIR/"$SPEC.in" >> $SPEC
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/compicc-0.8.5/makefile.in 
new/compicc-0.8.6/makefile.in
--- old/compicc-0.8.5/makefile.in       2012-02-23 20:51:14.000000000 +0100
+++ new/compicc-0.8.6/makefile.in       2012-03-08 21:20:34.000000000 +0100
@@ -238,7 +238,7 @@
        rpmdir/SOURCES \
        rpmdir/SRPMS \
        rpmdir/RPMS/$(RPMARCH)
-       $(COPY) -f $(TARGET)-$(VERSION).tar.gz rpmdir/SOURCES
+       $(COPY) -f $(TARGET)-$(VERSION).tar.bz2 rpmdir/SOURCES
        rpmbuild --clean -ba $(build_dir)/$(TARGET).spec --define "_topdir 
$$PWD/rpmdir"
        @echo "============================================================"
        @echo "Finished - the packages are in rpmdir/RPMS and rpmdir/SRPMS!"

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to