I am having trouble getting the following code to build on my system. This is for use in a Qt app and is supposed to get the X11 _ICC_PROFILE atom for the display where the main app widget is located and pass it back to the caller. The problem I am having is that the line that reads:
profile = cmsOpenProfileFromMem(buff, nitems); will not compile and I am getting the following error message: viewer.cpp:266: error: invalid conversion from 'void*' to'void**' I am certain that it is complaining about the first parameter and I have not been able to figure out what the compiler wants. This is using gcc 4.3.1 and lcms 1.17. I am sure that it is something simple that I am just not seeing. Can anyone spot what I am doing wrong? ----------------- code ------------------------------------- #include <lcms.h> #include <QtGui/QDesktopWidget> #include <QtGui/QX11Info> #include <X11/Xlib.h> #include <limits.h> #include <X11/Xatom.h> cmsHPROFILE Viewer::getProfileAtom () { Atom icc_atom = 0; Atom type = 0; int format; QString atStr; unsigned long nitems = 0; unsigned long bytes_after = 0; LPVOID buff; cmsHPROFILE *profile = NULL; QDesktopWidget* desktop = new QDesktopWidget(); if (desktop -> numScreens() == 1 || desktop -> screenNumber(this) == 0) atStr = "_ICC_PROFILE"; else atStr = QString("_ICC_PROFILE_%1").arg(desktop -> screenNumber(this)); icc_atom = XInternAtom( QX11Info::display (), atStr.toLatin1(), False ); if( XGetWindowProperty ( QX11Info::display (), QX11Info::appRootWindow(-1), icc_atom, 0, INT_MAX, False, XA_CARDINAL, &type, &format, &nitems, &bytes_after, (unsigned char **) &buff) == Success) { // this is the line that throws the compiler error. profile = cmsOpenProfileFromMem(buff, nitems); XFree (buff); qDebug("Got X11 _ICC_PROFILE Atom"); return profile; } else { qDebug("No profile, will use sRGB"); return NULL; } } ---------------- end code ------------------------------ FYI the rest of the code appears to be working. I tested this by commenting out the line that will not compile and looking at the nitems variable which is the size of the X11 atom and it is the same size as the files for the profiles I have loaded into my X11 _ICC_PROFILE atoms on my dual screen xinerama system. This code probably will need additional work to run on an XRandR 1.2 system. Hal ------------------------------------------------------------------------------ Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H _______________________________________________ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user