Merge remote branch 'whot/for-keith'
This commit is contained in:
		
						commit
						a974c8e7cb
					
				| 
						 | 
				
			
			@ -184,6 +184,7 @@ ProcXTestFakeInput(ClientPtr client)
 | 
			
		|||
    int i;
 | 
			
		||||
    int base = 0;
 | 
			
		||||
    int flags = 0;
 | 
			
		||||
    int need_ptr_update = 1;
 | 
			
		||||
 | 
			
		||||
    nev = (stuff->length << 2) - sizeof(xReq);
 | 
			
		||||
    if ((nev % sizeof(xEvent)) || !nev)
 | 
			
		||||
| 
						 | 
				
			
			@ -388,6 +389,8 @@ ProcXTestFakeInput(ClientPtr client)
 | 
			
		|||
                client->errorValue = ev->u.u.detail;
 | 
			
		||||
                return BadValue;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            need_ptr_update = 0;
 | 
			
		||||
            break;
 | 
			
		||||
        case MotionNotify:
 | 
			
		||||
            if (!dev->valuator)
 | 
			
		||||
| 
						 | 
				
			
			@ -452,7 +455,8 @@ ProcXTestFakeInput(ClientPtr client)
 | 
			
		|||
    for (i = 0; i < nevents; i++)
 | 
			
		||||
        mieqProcessDeviceEvent(dev, (InternalEvent*)(xtest_evlist+i)->event, NULL);
 | 
			
		||||
 | 
			
		||||
    miPointerUpdateSprite(dev);
 | 
			
		||||
    if (need_ptr_update)
 | 
			
		||||
        miPointerUpdateSprite(dev);
 | 
			
		||||
    return client->noClientException;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -825,7 +825,7 @@ NewInputDeviceRequest (InputOption *options, InputAttributes *attrs,
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    if (!idev->driver || !idev->identifier) {
 | 
			
		||||
        xf86Msg(X_ERROR, "No input driver/identifier specified (ignoring)\n");
 | 
			
		||||
        xf86Msg(X_INFO, "No input driver/identifier specified (ignoring)\n");
 | 
			
		||||
        rval = BadRequest;
 | 
			
		||||
        goto unwind;
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -31,14 +31,14 @@ protocol_xiquerypointer_LDADD=$(TEST_LDADD)
 | 
			
		|||
protocol_xiwarppointer_LDADD=$(TEST_LDADD)
 | 
			
		||||
protocol_eventconvert_LDADD=$(TEST_LDADD)
 | 
			
		||||
 | 
			
		||||
protocol_xiqueryversion_CFLAGS=$(AM_CFLAGS) -Wl,-wrap,WriteToClient
 | 
			
		||||
protocol_xiquerydevice_CFLAGS=$(AM_CFLAGS) -Wl,-wrap,WriteToClient
 | 
			
		||||
protocol_xiselectevents_CFLAGS=$(AM_CFLAGS) -Wl,-wrap,dixLookupWindow -Wl,-wrap,XISetEventMask
 | 
			
		||||
protocol_xigetselectedevents_CFLAGS=$(AM_CFLAGS) -Wl,-wrap,WriteToClient -Wl,-wrap,dixLookupWindow -Wl,-wrap,AddResource
 | 
			
		||||
protocol_xisetclientpointer_CFLAGS=$(AM_CFLAGS) -Wl,-wrap,dixLookupClient
 | 
			
		||||
protocol_xigetclientpointer_CFLAGS=$(AM_CFLAGS) -Wl,-wrap,WriteToClient -Wl,-wrap,dixLookupClient
 | 
			
		||||
protocol_xiquerypointer_CFLAGS=$(AM_CFLAGS) -Wl,-wrap,WriteToClient -Wl,-wrap,dixLookupWindow
 | 
			
		||||
protocol_xiwarppointer_CFLAGS=$(AM_CFLAGS) -Wl,-wrap,WriteToClient -Wl,-wrap,dixLookupWindow
 | 
			
		||||
protocol_xiqueryversion_LDFLAGS=$(AM_LDFLAGS) -Wl,-wrap,WriteToClient
 | 
			
		||||
protocol_xiquerydevice_LDFLAGS=$(AM_LDFLAGS) -Wl,-wrap,WriteToClient
 | 
			
		||||
protocol_xiselectevents_LDFLAGS=$(AM_LDFLAGS) -Wl,-wrap,dixLookupWindow -Wl,-wrap,XISetEventMask
 | 
			
		||||
protocol_xigetselectedevents_LDFLAGS=$(AM_LDFLAGS) -Wl,-wrap,WriteToClient -Wl,-wrap,dixLookupWindow -Wl,-wrap,AddResource
 | 
			
		||||
protocol_xisetclientpointer_LDFLAGS=$(AM_LDFLAGS) -Wl,-wrap,dixLookupClient
 | 
			
		||||
protocol_xigetclientpointer_LDFLAGS=$(AM_LDFLAGS) -Wl,-wrap,WriteToClient -Wl,-wrap,dixLookupClient
 | 
			
		||||
protocol_xiquerypointer_LDFLAGS=$(AM_LDFLAGS) -Wl,-wrap,WriteToClient -Wl,-wrap,dixLookupWindow
 | 
			
		||||
protocol_xiwarppointer_LDFLAGS=$(AM_LDFLAGS) -Wl,-wrap,WriteToClient -Wl,-wrap,dixLookupWindow
 | 
			
		||||
 | 
			
		||||
protocol_xiqueryversion_SOURCES=$(COMMON_SOURCES) protocol-xiqueryversion.c
 | 
			
		||||
protocol_xiquerydevice_SOURCES=$(COMMON_SOURCES) protocol-xiquerydevice.c
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1601,6 +1601,7 @@ _XkbCopyGeom(XkbDescPtr src, XkbDescPtr dst)
 | 
			
		|||
                else {
 | 
			
		||||
                    dcolor->spec = xstrdup(scolor->spec);
 | 
			
		||||
                }
 | 
			
		||||
                dcolor->pixel = scolor->pixel;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            dst->geom->num_colors = dst->geom->sz_colors;
 | 
			
		||||
| 
						 | 
				
			
			@ -1672,6 +1673,8 @@ _XkbCopyGeom(XkbDescPtr src, XkbDescPtr dst)
 | 
			
		|||
 | 
			
		||||
                            memcpy(doutline->points, soutline->points,
 | 
			
		||||
                                   soutline->num_points * sizeof(XkbPointRec));
 | 
			
		||||
 | 
			
		||||
                            doutline->corner_radius = soutline->corner_radius;
 | 
			
		||||
                        }
 | 
			
		||||
 | 
			
		||||
                        doutline->num_points = soutline->num_points;
 | 
			
		||||
| 
						 | 
				
			
			@ -1681,6 +1684,36 @@ _XkbCopyGeom(XkbDescPtr src, XkbDescPtr dst)
 | 
			
		|||
 | 
			
		||||
                dshape->num_outlines = sshape->num_outlines;
 | 
			
		||||
                dshape->sz_outlines = sshape->num_outlines;
 | 
			
		||||
                dshape->name = sshape->name;
 | 
			
		||||
                dshape->bounds = sshape->bounds;
 | 
			
		||||
 | 
			
		||||
                dshape->approx = NULL;
 | 
			
		||||
                if (sshape->approx && sshape->num_outlines > 0) {
 | 
			
		||||
 | 
			
		||||
                    const ptrdiff_t approx_idx =
 | 
			
		||||
                            sshape->approx - sshape->outlines;
 | 
			
		||||
 | 
			
		||||
                    if (approx_idx < dshape->num_outlines) {
 | 
			
		||||
                            dshape->approx = dshape->outlines + approx_idx;
 | 
			
		||||
                    } else {
 | 
			
		||||
                            LogMessage(X_WARNING, "XKB: approx outline "
 | 
			
		||||
                                            "index is out of range\n");
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                dshape->primary = NULL;
 | 
			
		||||
                if (sshape->primary && sshape->num_outlines > 0) {
 | 
			
		||||
 | 
			
		||||
                    const ptrdiff_t primary_idx =
 | 
			
		||||
                            sshape->primary - sshape->outlines;
 | 
			
		||||
 | 
			
		||||
                    if (primary_idx < dshape->num_outlines) {
 | 
			
		||||
                            dshape->primary = dshape->outlines + primary_idx;
 | 
			
		||||
                    } else {
 | 
			
		||||
                            LogMessage(X_WARNING, "XKB: primary outline "
 | 
			
		||||
                                            "index is out of range\n");
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            dst->geom->num_shapes = src->geom->num_shapes;
 | 
			
		||||
| 
						 | 
				
			
			@ -1784,6 +1817,10 @@ _XkbCopyGeom(XkbDescPtr src, XkbDescPtr dst)
 | 
			
		|||
                    }
 | 
			
		||||
                    drow->num_keys = srow->num_keys;
 | 
			
		||||
                    drow->sz_keys = srow->num_keys;
 | 
			
		||||
                    drow->top = srow->top;
 | 
			
		||||
                    drow->left = srow->left;
 | 
			
		||||
                    drow->vertical = srow->vertical;
 | 
			
		||||
                    drow->bounds = srow->bounds;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                if (ssection->num_doodads) {
 | 
			
		||||
| 
						 | 
				
			
			@ -1802,6 +1839,7 @@ _XkbCopyGeom(XkbDescPtr src, XkbDescPtr dst)
 | 
			
		|||
                      ddoodad = dsection->doodads;
 | 
			
		||||
                     k < ssection->num_doodads;
 | 
			
		||||
                     k++, sdoodad++, ddoodad++) {
 | 
			
		||||
                    memcpy(ddoodad , sdoodad, sizeof(XkbDoodadRec));
 | 
			
		||||
                    if (sdoodad->any.type == XkbTextDoodad) {
 | 
			
		||||
                        if (sdoodad->text.text)
 | 
			
		||||
                            ddoodad->text.text =
 | 
			
		||||
| 
						 | 
				
			
			@ -1815,7 +1853,6 @@ _XkbCopyGeom(XkbDescPtr src, XkbDescPtr dst)
 | 
			
		|||
                            ddoodad->logo.logo_name =
 | 
			
		||||
                             xstrdup(sdoodad->logo.logo_name);
 | 
			
		||||
                    }
 | 
			
		||||
                    ddoodad->any.type = sdoodad->any.type;
 | 
			
		||||
                }
 | 
			
		||||
                dsection->overlays = NULL;
 | 
			
		||||
                dsection->sz_overlays = 0;
 | 
			
		||||
| 
						 | 
				
			
			@ -1880,7 +1917,7 @@ _XkbCopyGeom(XkbDescPtr src, XkbDescPtr dst)
 | 
			
		|||
                  ddoodad = dst->geom->doodads;
 | 
			
		||||
                 i < src->geom->num_doodads;
 | 
			
		||||
                 i++, sdoodad++, ddoodad++) {
 | 
			
		||||
                ddoodad->any.type = sdoodad->any.type;
 | 
			
		||||
                memcpy(ddoodad , sdoodad, sizeof(XkbDoodadRec));
 | 
			
		||||
                if (sdoodad->any.type == XkbTextDoodad) {
 | 
			
		||||
                    if (sdoodad->text.text)
 | 
			
		||||
                        ddoodad->text.text = xstrdup(sdoodad->text.text);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue