Groups | Search | Server Info | Login | Register
Groups > comp.unix.programmer > #14498
| From | candycanearter07 <no@thanks.net> |
|---|---|
| Newsgroups | comp.unix.programmer, comp.windows.x |
| Subject | Re: XQueryColor() failing on dual monitor system |
| Date | 2023-10-28 19:17 -0500 |
| Organization | A noiseless patient Spider |
| Message-ID | <uhk8b1$3hk6g$3@dont-email.me> (permalink) |
| References | <uhfv8f$26mne$1@dont-email.me> |
Cross-posted to 2 groups.
On 10/27/23 04:18, Muttley@dastardlyhq.com wrote:
> Hi
>
> I'm hoping to write some code to save the contents of a window clicked on by
> the mouse to a file and my plan was to get its image, save the pixels then
> reload them into an image created by XCreateImage. However on one of the 3
> systems I'm using the XQueryColor() call fails in the following code (but never
> fails on the other 2). The only difference is the one it crashes on is a dual
> monitor system:
>
> :
> :
> screen = DefaultScreen(display);
> cmap = DefaultColormap(display,screen);
> :
> :
> win = event.xbutton.subwindow ?
> event.xbutton.subwindow : event.xbutton.window;
>
> XGetWindowAttributes(display,win,&att);
> printf("Window %ld, width = %d, height = %d\n",
> win,att.width,att.height);
>
> puts("Grabbing image...");
> oldimg = XGetImage(
> display,win,
> 0,0,att.width,att.height,AllPlanes,XYPixmap);
>
> puts("Pixels...");
> for(x=0;x < att.width;++x)
> {
> for(y=0;y < att.height;++y)
> {
> printf("X,Y = %d,%d\n",x,y);
> pixel = XGetPixel(oldimg,x,y);
> col.pixel = pixel;
> XQueryColor(display,cmap,&col);
>
>
> $ ./a.out
> Window 54532344, width = 786, height = 1037
> Grabbing image...
> Pixels...
> :
> :
> X,Y = 12,26
> X,Y = 12,27
> X,Y = 12,28
> X,Y = 12,29
> X,Y = 12,30
> X Error of failed request: BadValue (integer parameter out of range for operati
> on)
> Major opcode of failed request: 91 (X_QueryColors)
> Value in failed request: 0x1000000
> Serial number of failed request: 11
> Current serial number in output stream: 11
>
>
> Is there some obvious mistake I'm making?
>
> Thanks for any help
>
You could always try looking at the source code for xcolor and copy that.
--
user <candycane> is generated from /dev/urandom
Back to comp.unix.programmer | Previous | Next — Previous in thread | Next in thread | Find similar
XQueryColor() failing on dual monitor system Muttley@dastardlyhq.com - 2023-10-27 09:18 +0000
Re: XQueryColor() failing on dual monitor system Marco Moock <mm+usenet-es@dorfdsl.de> - 2023-10-27 11:59 +0200
Re: XQueryColor() failing on dual monitor system Muttley@dastardlyhq.com - 2023-10-27 14:51 +0000
Re: XQueryColor() failing on dual monitor system scott@slp53.sl.home (Scott Lurndal) - 2023-10-27 15:57 +0000
Re: XQueryColor() failing on dual monitor system Muttley@dastardlyhq.com - 2023-10-27 16:07 +0000
Re: XQueryColor() failing on dual monitor system scott@slp53.sl.home (Scott Lurndal) - 2023-10-27 13:52 +0000
Re: XQueryColor() failing on dual monitor system candycanearter07 <no@thanks.net> - 2023-10-28 19:17 -0500
Re: XQueryColor() failing on dual monitor system Spiros Bousbouras <spibou@gmail.com> - 2023-10-29 13:28 +0000
csiph-web