Never mind I found it and it was dumb. Sorry for the noise.
Hal
On Monday 02 March 2009 08:34:17 pm Hal V. Engel wrote:
> 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
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/lcms-user
------------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/lcms-user