folks, hi,

got a bit of an issue with a directfb gtk app, using a gtk ScrollWindow and
a webkit webview widget embedded in it.  mouse and keyboard scroll events
give screen corruption when using VESA, IntelFB and also an embedded device
(exact details unknown to me).  the amount and nature of the screen
corruption that occurs is dependent on how much of the display area is being
scrolled (by the mouse or the keyboard) but it varies from black artefacts,
blue artefacts, both of width of the entire screen, and clearly
distinguishable portions of the web page being viewed being shifted
vertically by random offsets.

the corruption DOES NOT occur if:

* the vertical scrollbar position is set _manually_ using value adjustment
on the scrollbar:
   m_VerticalAdjustment =
        gtk_scrolled_window_get_vadjustment(
             GTK_SCROLLED_WINDOW(scrolled_window));
   gtk_adjustment_set_value(m_VerticalAdjustment, val + INCR);

* the application is compiled as an X-Windows gtk app.  under these
circumstances, no screen corruption occurs at all.

probably-relevant info:

ldd build-i686/rmi | grep direct
        libgtk-directfb-2.0.so.0 => /usr/lib/libgtk-directfb-2.0.so.0
(0x00002b5aab05a000)
        libgdk-directfb-2.0.so.0 => /usr/lib/libgdk-directfb-2.0.so.0
(0x00002b5aab63a000)
        libdirectfb-1.2.so.0 => /usr/lib/libdirectfb-1.2.so.0
(0x00002b5aab8c6000)
        libdirect-1.2.so.0 => /usr/lib/libdirect-1.2.so.0
(0x00002b5aabd5b000)

dpkg -l | grep directfb
ii  libcairo-directfb2                   1.8.6-2+b1                          
The Cairo 2D vector graphics library DirectFB build (d
ii  libcairo-directfb2-dev               1.8.6-2+b1                          
Development files for Cairo graphics library DirectFB 
ii  libdirectfb-1.2-0                    1.2.7-2                             
direct frame buffer graphics - shared libraries
ii  libdirectfb-dev                      1.2.7-2                             
direct frame buffer graphics library - development fil
ii  libdirectfb-extra                    1.2.7-2                             
direct frame buffer graphics - extra providers
ii  libgtk-directfb-2.0-0                2.14.7-5                            
The GTK+ graphical user interface library - DirectFB r
ii  libgtk-directfb-2.0-dev              2.14.7-5   

for a testcase, you can take the standard example from WebKit - GtkLauncher
main.c - and compile it with the following Makefile:

WEBKIT_INC= `pkg-config webkit-directfb-1.0 --cflags`
WEBKIT_LIB= `pkg-config webkit-directfb-1.0 --libs`

PKGINC  =   \
        $(WEBKIT_INC)

PKGLIB2 =   \
         `pkg-config --libs directfb` \
        $(WEBKIT_LIB)

CFLAGS  =   -ggdb3 -g -g -D_FILE_OFFSET_BITS=64 $(PKGINC)

%.o: ./%.c
    $(CC) $(CFLAGS) -c $< -o $@

%.o: ./%.cpp
    $(CXX) $(CFLAGS) -c $< -o $@

OBJS2 = main.o

test2:  $(OBJS2)
    $(CC) -o test2 $(LDFLAGS) $(OBJS2) $(PKGLIB2)

clean:
    -rm -f $(OBJS2) test2
        

where you will have had to have compiled webkit with directfb and then
created a webkit-directfb-1.0.pc manually (copied from whatever
webkit-1.0.pc is created), example here, placed in /usr/share/pkgconfig
manually.  as you can see from the prefix, i did ./configure
--prefix=/opt/local --with-target=directfb

prefix=/opt/local
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: WebKit
Description: Web content engine for GTK+
Version: 1.0.3
Requires: gtk+-directfb-2.0
Libs: -L${libdir} -lwebkit-directfb-1.0
Cflags: -I${includedir}/webkit-1.0


any help with this greatly appreciated, it's a bit of a show-stopper.

l.

-- 
View this message in context: 
http://www.nabble.com/scrolling-window-corruption-in-gtk-directfb-app-using-webkit-tp23486532p23486532.html
Sent from the DirectFB Dev mailing list archive at Nabble.com.

_______________________________________________
directfb-dev mailing list
directfb-dev@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to