<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2600.0" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>hello everyone,</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>i've modified the X11 video output plugin, 
xcommon.c, by using Gtk-1.2 . I will spare the details on the Makefile 
changes i've made (X11 lib and headers flags).</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>The gtk_main plugin is loaded in the Activate 
function.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Now in place of the 2 Xlib windows, in 
the  there'a GTK window which includes a drawing area and a 
button.</FONT></DIV>
<DIV><FONT face=Arial size=2>All the Gtk widgets are declared as global 
variables.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2><EM>static int CreateWindow( vout_thread_t *p_vout, 
x11_window_t *p_win )<BR>{  <BR></EM></DIV></FONT>
<DIV><FONT face=Arial 
size=2><EM>gdk_threads_enter();<BR> gwin=gtk_window_new(GTK_WINDOW_TOPLEVEL);<BR></EM></FONT><FONT 
face=Arial size=2><EM>   </EM></FONT></DIV>
<DIV><FONT face=Arial size=2><EM></EM></FONT> </DIV>
<DIV><FONT face=Arial size=2><EM>gtk_widget_realize(gwin);<BR>gtk_signal_connect 
(GTK_OBJECT (gwin), 
"destroy",<BR>                      
GTK_SIGNAL_FUNC (destroy),(gpointer)p_vout);</EM></FONT></DIV>
<DIV><FONT face=Arial size=2><EM></EM></FONT> </DIV>
<DIV><FONT face=Arial size=2><EM>//DRAWING AREA</EM></FONT></DIV>
<DIV><FONT face=Arial size=2><EM></EM></FONT> </DIV>
<DIV><FONT face=Arial 
size=2><EM>da=gtk_drawing_area_new();<BR>gtk_drawing_area_size((GtkDrawingArea*)da,240,255);</EM></FONT></DIV>
<DIV><FONT face=Arial 
size=2><EM>//VBOX<BR>vbox=gtk_vbox_new(FALSE,0);</EM></FONT></DIV>
<DIV><FONT face=Arial size=2><EM></EM></FONT> </DIV>
<DIV><FONT face=Arial 
size=2><EM>gtk_widget_show(vbox);<BR>gtk_container_add(GTK_CONTAINER(gwin),vbox);<BR>gtk_box_pack_start(GTK_BOX(vbox),da,FALSE,FALSE,0);<BR>//function 
creating button</EM></FONT></DIV>
<DIV><FONT face=Arial 
size=2><EM>CreateButton(vbox);<BR>gtk_widget_show_all(gwin); 
<BR>gdk_threads_leave();<BR>return VLC_SUCCESS;<BR></EM></FONT></DIV>
<DIV><FONT face=Arial size=2>
<DIV><FONT face=Arial size=2>The aim is to display the current frame in the 
drawing area (da). Then i've modified the XShmPutImage() function in 
Display_Video():</FONT></DIV>
<DIV> </DIV>
<DIV><EM>XShmPutImage( 
GDK_WINDOW_XDISPLAY(da->window),<BR>                      
GDK_WINDOW_XWINDOW(da->window),<BR>                      
GDK_GC_XGC(da->style->fg_gc[da->state]), 
p_pic->p_sys->p_image,<BR>                      
0 /*src_x*/, 0 /*src_y*/, 0 /*dest_x*/, 0 
/*dest_y*/,<BR>                      
p_vout->output.i_width, 
p_vout->output.i_height,<BR>                      
False  );//Don't put TRUE !*/</EM></DIV>
<DIV><EM></EM> </DIV>
<DIV>I left the remaining code untouched, SHM parameters and 
stuff, and that's what I get only at EOF:</DIV>
<DIV> </DIV>
<DIV>Gdk-ERROR ** : BadShmSeg( invalid shared segment parameter) error_code 167 
request_code 144 minor_code 3</DIV>
<DIV> </DIV>
<DIV>What's the story , any idea ?</DIV>
<DIV> </DIV>
<DIV>Greetings,</DIV>
<DIV>federico</DIV></DIV></FONT></BODY></HTML>