https://bugs.kde.org/show_bug.cgi?id=360682
Bug ID: 360682 Summary: bug+fix: compiling Krita without OpenGL Product: krita Version: 2.9.11 Platform: Ubuntu Packages OS: Linux Status: UNCONFIRMED Severity: normal Priority: NOR Component: Tools Assignee: krita-bugs-n...@kde.org Reporter: urqu...@yahoo.com I was building Krita on a platform without OpenGL, only OpenGL ES. It would fail in calligra/krita/ui/canvas/kiscanvas2.cpp saying that m_d->openGLImageTextures was not a member function. Since I knew I could do this in the past, I tracked it down and found that in two locations, openGLImageTextures was called outside of a "#ifdef HAVE_OPENGL". Around line 261 I changed: if (m_d->currentCanvasIsOpenGL) { #ifdef HAVE_OPENGL Q_ASSERT(m_d->openGLImageTextures); m_d->openGLImageTextures->setChannelFlags(m_d->channelFlags); #else Q_ASSERT_X(0, "KisCanvas2::setChannelFlags", "Bad use of setChannelFlags(). It shouldn't have happened =("); #endif } else { Q_ASSERT(m_d->prescaledProjection); m_d->prescaledProjection->setChannelFlags(m_d->channelFlags); } ***to*** #ifdef HAVE_OPENGL if (m_d->currentCanvasIsOpenGL) { //#ifdef HAVE_OPENGL Q_ASSERT(m_d->openGLImageTextures); m_d->openGLImageTextures->setChannelFlags(m_d->channelFlags); //#else Q_ASSERT_X(0, "KisCanvas2::setChannelFlags", "Bad use of setChannelFlags(). It shouldn't have happened =("); //#endif } else { #endif Q_ASSERT(m_d->prescaledProjection); m_d->prescaledProjection->setChannelFlags(m_d->channelFlags); #ifdef HAVE_OPENGL } #endif ***and around line 413*** { m_d->prescaledProjection = 0; m_d->openGLImageTextures = 0; ***to*** { m_d->prescaledProjection = 0; #ifdef HAVE_OPENGL m_d->openGLImageTextures = 0; #endif Dirty, but it compiles and runs. Seems to be stable. I wish I could fully test it, but the next step is getting the OS to see the tablet. Reproducible: Always Steps to Reproduce: 1. Follow standard feline instructions to compile Krita 2.9.11 on an OpenGL ES platform. It *might* happen if you hard-wire KoConfig.h to "#define HAVE_OPENGL false" on any machine. 2. 3. Actual Results: error: m_d->openGLImageTextures was not a member function Expected Results: compile without OpenGL Hardware: ODROID XU4. Obscure platform. Bug low priority. I would not have reported it except that I also found a solution. Dirty though it is. -- You are receiving this mail because: You are watching all bug changes.