当前位置: 技术问答>linux和unix
XLib处理问题~~急,大家帮忙
来源: 互联网 发布时间:2015-09-16
本文导语: 获取display和root window的时候,出现下面错误信息: b: sequence lost (0x1e870 > 0xe871) in reply type 0x0! The program 'lt-linphone' received an X Window System error. This probably reflects a bug in the program. The error was 'BadImplementat...
获取display和root window的时候,出现下面错误信息:
b: sequence lost (0x1e870 > 0xe871) in reply type 0x0!
The program 'lt-linphone' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadImplementation (server does not implement operation)'.
(Details: serial 59504 error_code 17 request_code 20 minor_code 0)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
分别用过两段代码:
第一段:
Window rwin, pwin, *cwinlist, *ccwinlist;
int nchild, ncchild, i, j;
Display *disp = GDK_DISPLAY();
Window root = GDK_ROOT_WINDOW();
XTextProperty wname;
XWindowAttributes wattr;
int ret = FALSE;
XQueryTree(disp, root, &rwin, &pwin, &cwinlist, &nchild);
for (i=0; i 800 && wattr.height > 600)
{
XMapWindow(disp, ccwinlist[j]); // 这里不会出现上面的错误
//////////////////////////////////////////////
// 下面这3个语句,不论单独使用哪一个,都会报上面的错误信息
//XMapRaised(disp, ccwinlist[j]);
XSetInputFocus(disp, ccwinlist[j],RevertToNone,CurrentTime);
//XRaiseWindow(disp, ccwinlist[j]);
//////////////////////////////////////////////
ret = TRUE;
}
}
}
}
XFree(ccwinlist);
}
XFree(cwinlist);
return ret;
第二段代码:
Window rwin, pwin, *cwinlist, *ccwinlist;
int nchild, ncchild, i, j;
Display *disp;
XTextProperty wname;
XWindowAttributes wattr;
int ret = FALSE;
disp = XOpenDisplay(NULL);
XQueryTree(DefaultRootWindow(disp), root, &rwin, &pwin, &cwinlist, &nchild);
for (i=0; i 800 && wattr.height > 600)
{
XMapWindow(disp, ccwinlist[j]); //这里会报前面的错误
//////////////////////////////////////////////
// 下面这3个语句,不论单独使用哪一个,都会报上面的错误信息
//XMapRaised(disp, ccwinlist[j]);
XSetInputFocus(disp, ccwinlist[j],RevertToNone,CurrentTime);
//XRaiseWindow(disp, ccwinlist[j]);
//////////////////////////////////////////////
ret = TRUE;
}
}
}
}
XFree(ccwinlist);
}
XFree(cwinlist);
XCloseDisplay(disp);
return ret;
大家分析一下吧~~
b: sequence lost (0x1e870 > 0xe871) in reply type 0x0!
The program 'lt-linphone' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadImplementation (server does not implement operation)'.
(Details: serial 59504 error_code 17 request_code 20 minor_code 0)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
分别用过两段代码:
第一段:
Window rwin, pwin, *cwinlist, *ccwinlist;
int nchild, ncchild, i, j;
Display *disp = GDK_DISPLAY();
Window root = GDK_ROOT_WINDOW();
XTextProperty wname;
XWindowAttributes wattr;
int ret = FALSE;
XQueryTree(disp, root, &rwin, &pwin, &cwinlist, &nchild);
for (i=0; i 800 && wattr.height > 600)
{
XMapWindow(disp, ccwinlist[j]); // 这里不会出现上面的错误
//////////////////////////////////////////////
// 下面这3个语句,不论单独使用哪一个,都会报上面的错误信息
//XMapRaised(disp, ccwinlist[j]);
XSetInputFocus(disp, ccwinlist[j],RevertToNone,CurrentTime);
//XRaiseWindow(disp, ccwinlist[j]);
//////////////////////////////////////////////
ret = TRUE;
}
}
}
}
XFree(ccwinlist);
}
XFree(cwinlist);
return ret;
第二段代码:
Window rwin, pwin, *cwinlist, *ccwinlist;
int nchild, ncchild, i, j;
Display *disp;
XTextProperty wname;
XWindowAttributes wattr;
int ret = FALSE;
disp = XOpenDisplay(NULL);
XQueryTree(DefaultRootWindow(disp), root, &rwin, &pwin, &cwinlist, &nchild);
for (i=0; i 800 && wattr.height > 600)
{
XMapWindow(disp, ccwinlist[j]); //这里会报前面的错误
//////////////////////////////////////////////
// 下面这3个语句,不论单独使用哪一个,都会报上面的错误信息
//XMapRaised(disp, ccwinlist[j]);
XSetInputFocus(disp, ccwinlist[j],RevertToNone,CurrentTime);
//XRaiseWindow(disp, ccwinlist[j]);
//////////////////////////////////////////////
ret = TRUE;
}
}
}
}
XFree(ccwinlist);
}
XFree(cwinlist);
XCloseDisplay(disp);
return ret;
大家分析一下吧~~
|
怀疑你的代码有问题
第二段
XQueryTree(DefaultRootWindow(disp), root, &rwin, &pwin, &cwinlist, &nchild);
这里,DefaultRootWindow(disp) 返回一个窗口的句柄,而XQueryTree第一个参数是Display指针。
第一段你检测一下你的root窗口是不是返回正常的
第二段
XQueryTree(DefaultRootWindow(disp), root, &rwin, &pwin, &cwinlist, &nchild);
这里,DefaultRootWindow(disp) 返回一个窗口的句柄,而XQueryTree第一个参数是Display指针。
第一段你检测一下你的root窗口是不是返回正常的
|
bu 懂
帮顶!
帮顶!
|
帮顶一下
|
不懂,只有帮顶的份了.
|
up
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。