Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 2879 Details for
Bug 5412
kxine ebuild
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch for xine-lib 0.9.13 to let kxine work
xine-lib-0.9.13_kxine-fix.patch (text/plain), 8.83 KB, created by
Mark Thomas
on 2002-08-06 17:26:54 UTC
(
hide
)
Description:
Patch for xine-lib 0.9.13 to let kxine work
Filename:
MIME Type:
Creator:
Mark Thomas
Created:
2002-08-06 17:26:54 UTC
Size:
8.83 KB
patch
obsolete
>diff -ur xine-lib-0.9.13/src/video_out/video_out_x11.h xine-lib-0.9.13-new/src/video_out/video_out_x11.h >--- xine-lib-0.9.13/src/video_out/video_out_x11.h Thu Mar 21 18:29:51 2002 >+++ xine-lib-0.9.13-new/src/video_out/video_out_x11.h Tue Aug 6 23:00:54 2002 >@@ -109,6 +109,12 @@ > /* int *data */ > #define GUI_DATA_EX_VIDEOWIN_VISIBLE 5 > >+/* void (*data[])(Display*) */ >+/* i.e. a pointer to an array of function-pointers >+ * the first is the XLockDisplay replacement >+ * the second is the XUnlockDisplay replacement */ >+#define GUI_DATA_EX_CHANGE_LOCK_FUNCTIONS 6 >+ > /* *data contains chosen visual, select a new one or change it to NULL > * to indicate the visual to use or that no visual will work */ > /* XVisualInfo **data */ >diff -ur xine-lib-0.9.13/src/video_out/video_out_xshm.c xine-lib-0.9.13-new/src/video_out/video_out_xshm.c >--- xine-lib-0.9.13/src/video_out/video_out_xshm.c Thu Aug 1 16:26:53 2002 >+++ xine-lib-0.9.13-new/src/video_out/video_out_xshm.c Tue Aug 6 23:06:54 2002 >@@ -26,6 +26,9 @@ > * > * xine-specific code by Guenter Bartsch <bartscgr@studbox.uni-stuttgart.de> > * >+ * locking function change support for KDE front end by Mark Thomas >+ * <markbt@users.sourceforge.net> - August 2002 >+ * > */ > > #ifdef HAVE_CONFIG_H >@@ -173,6 +176,9 @@ > int video_width, int video_height, > int *dest_width, int *dest_height); > >+ void (*x11_LockDisplay) (Display *); >+ void (*x11_UnlockDisplay) (Display *); >+ > } xshm_driver_t; > > >@@ -404,9 +410,9 @@ > xshm_driver_t *this = (xshm_driver_t *) vo_img->driver; > > if (frame->image) { >- XLockDisplay (this->display); >+ this->x11_LockDisplay (this->display); > dispose_ximage (this, &frame->shminfo, frame->image); >- XUnlockDisplay (this->display); >+ this->x11_UnlockDisplay (this->display); > } > > free (frame); >@@ -627,7 +633,7 @@ > frame->output_width, frame->output_height); > #endif > >- XLockDisplay (this->display); >+ this->x11_LockDisplay (this->display); > > /* > * (re-) allocate XImage >@@ -656,7 +662,7 @@ > frame->image = create_ximage (this, &frame->shminfo, > frame->output_width, frame->output_height); > >- XUnlockDisplay (this->display); >+ this->x11_UnlockDisplay (this->display); > > if (format == IMGFMT_YV12) { > frame->vo_frame.pitches[0] = 8*((width + 7) / 8); >@@ -768,7 +774,7 @@ > > static void clean_output_area (xshm_driver_t *this) { > >- XLockDisplay (this->display); >+ this->x11_LockDisplay (this->display); > > XSetForeground (this->display, this->gc, this->black.pixel); > >@@ -804,7 +810,7 @@ > > #endif > >- XUnlockDisplay (this->display); >+ this->x11_UnlockDisplay (this->display); > } > > static int xshm_redraw_needed (vo_driver_t *this_gen) { >@@ -913,7 +919,7 @@ > xoffset = (this->gui_width - frame->output_width) / 2 + this->gui_x; > yoffset = (this->gui_height - frame->output_height) / 2 + this->gui_y; > >- XLockDisplay (this->display); >+ this->x11_LockDisplay (this->display); > #ifdef LOG > printf ("video_out_xshm: display locked...\n"); > #endif >@@ -946,7 +952,7 @@ > XFlush(this->display); > } > >- XUnlockDisplay (this->display); >+ this->x11_UnlockDisplay (this->display); > > } > >@@ -1103,7 +1109,7 @@ > > if (xev->count == 0) { > >- XLockDisplay (this->display); >+ this->x11_LockDisplay (this->display); > > xoffset = (this->cur_frame->gui_width - this->cur_frame->output_width) / 2; > yoffset = (this->cur_frame->gui_height - this->cur_frame->output_height) / 2; >@@ -1145,7 +1151,7 @@ > > XFlush (this->display); > >- XUnlockDisplay (this->display); >+ this->x11_UnlockDisplay (this->display); > } > > } >@@ -1181,6 +1187,14 @@ > > break; > >+ case GUI_DATA_EX_CHANGE_LOCK_FUNCTIONS: >+ { >+ void (**func)(void) = data; >+ this -> x11_LockDisplay = func[0]; >+ this -> x11_UnlockDisplay = func[1]; >+ } >+ break; >+ > default: > return -1; > } >@@ -1305,6 +1319,9 @@ > this->gc = XCreateGC (this->display, this->drawable, > 0, NULL); > >+ this->x11_LockDisplay = XLockDisplay; >+ this->x11_UnlockDisplay = XUnlockDisplay; >+ > this->vo_driver.get_capabilities = xshm_get_capabilities; > this->vo_driver.alloc_frame = xshm_alloc_frame; > this->vo_driver.update_frame_format = xshm_update_frame_format; >diff -ur xine-lib-0.9.13/src/video_out/video_out_xv.c xine-lib-0.9.13-new/src/video_out/video_out_xv.c >--- xine-lib-0.9.13/src/video_out/video_out_xv.c Sat Jul 20 22:46:06 2002 >+++ xine-lib-0.9.13-new/src/video_out/video_out_xv.c Tue Aug 6 23:06:17 2002 >@@ -29,6 +29,9 @@ > * xine-specific code by Guenter Bartsch <bartscgr@studbox.uni-stuttgart.de> > * > * overlay support by James Courtier-Dutton <James@superbug.demon.co.uk> - July 2001 >+ * >+ * locking function change support for KDE front-end by Mark Thomas >+ * <markbt@users.sourceforge.net> - August 2002 > */ > > #ifdef HAVE_CONFIG_H >@@ -196,6 +199,9 @@ > > int use_colorkey; > uint32_t colorkey; >+ >+ void (*x11_LockDisplay) (Display *); >+ void (*x11_UnlockDisplay) (Display *); > }; > > int gX11Fail; >@@ -219,18 +225,18 @@ > if (frame->image) { > > if (this->use_shm) { >- XLockDisplay (this->display); >+ this->x11_LockDisplay (this->display); > XShmDetach (this->display, &frame->shminfo); > XFree (frame->image); >- XUnlockDisplay (this->display); >+ this->x11_UnlockDisplay (this->display); > > shmdt (frame->shminfo.shmaddr); > shmctl (frame->shminfo.shmid, IPC_RMID, NULL); > } > else { >- XLockDisplay (this->display); >+ this->x11_LockDisplay (this->display); > XFree (frame->image); >- XUnlockDisplay (this->display); >+ this->x11_UnlockDisplay (this->display); > } > } > >@@ -450,7 +456,7 @@ > > /* printf ("video_out_xv: updating frame to %d x %d (ratio=%d, format=%08x)\n",width,height,ratio_code,format); */ > >- XLockDisplay (this->display); >+ this->x11_LockDisplay (this->display); > > /* > * (re-) allocate xvimage >@@ -474,7 +480,7 @@ > frame->height = height; > frame->format = format; > >- XUnlockDisplay (this->display); >+ this->x11_UnlockDisplay (this->display); > } > > frame->ratio_code = ratio_code; >@@ -494,7 +500,7 @@ > || (frame->width != this->deinterlace_frame.width) > || (frame->height / xvscaling != this->deinterlace_frame.height ) > || (frame->format != this->deinterlace_frame.format)) { >- XLockDisplay (this->display); >+ this->x11_LockDisplay (this->display); > > if( this->deinterlace_frame.image ) > dispose_ximage (this, &this->deinterlace_frame.shminfo, >@@ -507,7 +513,7 @@ > this->deinterlace_frame.height = frame->height / xvscaling; > this->deinterlace_frame.format = frame->format; > >- XUnlockDisplay (this->display); >+ this->x11_UnlockDisplay (this->display); > } > > >@@ -584,7 +590,7 @@ > > static void xv_clean_output_area (xv_driver_t *this) { > >- XLockDisplay (this->display); >+ this->x11_LockDisplay (this->display); > > XSetForeground (this->display, this->gc, this->black.pixel); > >@@ -598,7 +604,7 @@ > this->output_width, this->output_height); > } > >- XUnlockDisplay (this->display); >+ this->x11_UnlockDisplay (this->display); > } > > /* >@@ -865,7 +871,7 @@ > */ > xv_redraw_needed (this_gen); > >- XLockDisplay (this->display); >+ this->x11_LockDisplay (this->display); > > if (this->use_shm) { > XvShmPutImage(this->display, this->xv_port, >@@ -887,7 +893,7 @@ > > XFlush(this->display); > >- XUnlockDisplay (this->display); >+ this->x11_UnlockDisplay (this->display); > > } > /* >@@ -1034,7 +1040,7 @@ > /* FIXME : take care of completion events */ > > if (this->cur_frame) { >- XLockDisplay (this->display); >+ this->x11_LockDisplay (this->display); > > if (this->use_shm) { > XvShmPutImage(this->display, this->xv_port, >@@ -1075,7 +1081,7 @@ > > XFlush(this->display); > >- XUnlockDisplay (this->display); >+ this->x11_UnlockDisplay (this->display); > } > } > break; >@@ -1101,6 +1107,14 @@ > } > break; > >+ case GUI_DATA_EX_CHANGE_LOCK_FUNCTIONS: >+ { >+ void (**func)(void) = data; >+ this->x11_LockDisplay = func[0]; >+ this->x11_UnlockDisplay = func[1]; >+ } >+ break; >+ > default: > return -1; > } >@@ -1119,11 +1133,11 @@ > this->deinterlace_frame.image = NULL; > } > >- XLockDisplay (this->display); >+ this->x11_LockDisplay (this->display); > if(XvUngrabPort (this->display, this->xv_port, CurrentTime) != Success) { > printf ("video_out_xv: xv_exit: XvUngrabPort() failed.\n"); > } >- XUnlockDisplay (this->display); >+ this->x11_UnlockDisplay (this->display); > > for( i=0; i < VO_NUM_RECENT_FRAMES; i++ ) > { >@@ -1352,6 +1366,8 @@ > this->deinterlace_frame.image = NULL; > this->use_colorkey = 0; > this->colorkey = 0; >+ this->x11_LockDisplay = XLockDisplay; >+ this->x11_UnlockDisplay = XUnlockDisplay; > > XAllocNamedColor(this->display, > DefaultColormap(this->display, this->screen),
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 5412
:
2469
| 2879