Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • xorg/xserver
  • avolkov/xserver
  • keithp/xserver
  • aplattner/xserver
  • ajax/xserver
  • ofourdan/xserver
  • anholt/xserver
  • abono/xserver
  • airlied/xserver
  • romangg/xserver
  • ross/xserver
  • mupuf/xserver
  • jturney/xserver
  • CendioOssman/xserver
  • kamarul6401/xserver
  • daenzer/xserver
  • afett/xserver
  • coypoop/xserver
  • 3v1n0/xserver
  • llandwerlin/xserver
  • alanc/xserver
  • lyudess/xserver
  • twaik/xserver
  • shadeslayer/xserver
  • djlucas/xserver
  • aditj/xserver
  • dbn/xserver
  • awilfox/xserver
  • rmader/xserver
  • peterh/xserver
  • dk/xserver
  • dslater38/xserver
  • yshui/xserver
  • PaulKocialkowski/xserver
  • dixler/xserver
  • bentiss/xserver
  • mbiebl/xserver
  • rarbab/xserver
  • causztic/xserver
  • agoins/xserver
  • kbrenneman/xserver
  • Hi-Angel/xserver
  • mlankhorst/xserver
  • rgfernandes/xserver
  • topimiettinen/xserver
  • bphaslett/xserver
  • adamjrichter/xserver
  • karolherbst/xserver
  • carlosg/xserver
  • jwrdegoede/xserver
  • mattrope/xserver
  • sthibaul/xserver
  • J-Bu/xserver
  • nacho.resa/xserver
  • emersion/xserver
  • xexaxo/xserver
  • 1480c1/xserver
  • knisht/xserver
  • mattst88/xserver
  • goosen78/xserver
  • zubzub/xserver
  • vsyrjala/xserver
  • gerddie/xserver
  • JeffyCN/xserver
  • gtrentalancia/xserver
  • lostgoat/xserver
  • headrush/xserver
  • jadahl/xserver
  • webi123/xserver
  • zeising/xserver
  • marv/xserver
  • puleglot/xserver
  • zwenna/xserver
  • TAAPArthur/xserver
  • doraskayo/xserver
  • maos20008/xserver
  • tjbp/xserver
  • pq/xserver
  • yarivb/xserver
  • miztake/xserver
  • lynxeye/xserver
  • zboszor/xserver
  • kwg/xserver
  • Gorg/xserver
  • lkundrak/xserver
  • justazarsky/xserver
  • HermannSW/xserver
  • E5ten/xserver
  • bbrezillon/xserver
  • manu/xserver
  • lucyllewy/xserver
  • marvinjr35/xserver
  • jbeich/xserver
  • dirbaio/xserver
  • strassek/xserver
  • mntmn/xserver
  • uvas/xserver
  • azhadchenko/xserver
  • anarsoul/xserver
  • stapelberg/xserver
  • peigongdsd/xserver
  • sjoerd/xserver
  • Ma/xserver
  • mherrb/xserver
  • pichika/xserver
  • qarmin/xserver
  • cooperch/xserver
  • davidriley/xserver
  • lucmann/xserver
  • chema/xserver
  • whot/xserver
  • xdandys/xserver
  • Spintzyk/xserver
  • mikeroyal/xserver
  • ydirson/xserver
  • SimonPilkington/xserver
  • daniels/xserver
  • andrebsguedes/xserver
  • chenhuacai/xserver
  • Vivek/xserver
  • meMuszr/xserver
  • MisterDA/xserver
  • linkmauve/xserver
  • starnight/xserver
  • ekurzinger/xserver
  • DPA/xserver
  • hmazlan/xserver
  • alagner/xserver
  • tagr/xserver
  • alex-tu-cc/xserver
  • kaniini/xserver
  • p12tic/xserver
  • valpackett/xserver
  • Kishore409/xserver
  • bernhardu/xserver
  • kaichuan.hsieh/xserver
  • icenowy/xserver
  • rilian-la-te/xserver
  • smelenius/xserver
  • vfjpl/xserver
  • mvlad/xserver
  • vliaskov/xserver
  • hitong602/xserver
  • haagch/xserver
  • freemangordon/xserver
  • tmlind/xserver
  • vitoux.pascal/xserver
  • luporl/xserver
  • hassoon1986/xserver
  • chengbo7135/xserver
  • sri-ka1ki/xserver
  • kaocher82/xserver
  • heymiaoO/xserver
  • xry111/xserver
  • jcristau/xserver
  • lanodan/xserver
  • jcourreges/xserver
  • dottedmag/xserver
  • jeremyhu/xserver
  • jcherry/xserver
  • Zamundaaa/xserver
  • gsittyz/xserver
  • OlCe/xserver
  • manuelcrack642/xserver
  • kupper.pa/xserver
  • ZhiJie.Zhang/xserver
  • Michaelypk/xserver
  • msizanoen1/xserver
  • andreyknyazev077/xserver
  • christian-rauch/xserver
  • karlosrangel337/xserver
  • niveditharau/xserver
  • antonovitch/xserver
  • galaxytgtabiday/xserver
  • ryanneph/xserver
  • ismailsiege/xserver
  • orbea/xserver
  • FeepingCreature/xserver
  • ydc-dadada/xserver
  • davidedmundson/xserver
  • arichardson/xserver
  • 1740301466jxz/xserver
  • DemiMarie/xserver
  • kennylevinsen/xserver
  • mrisaacb/xserver
  • robclark/xserver
  • JoseExposito/xserver
  • refi_64/xserver
  • kleinerm/xserver
  • Acidburn0zzz/xserver
  • vinilokorlok/xserver
  • cubanismo/xserver
  • n3rdopolis/xserver
  • mwyraz/xserver
  • halfline/xserver
  • cpmichael/modesetting
  • sherrodejjohnson/xserver
  • eschwartz/xserver
  • oreaus/xserver
  • jocelyn/xserver
  • ernstp/xserver
  • LickmeDown/xserver
  • Daasin/xserver
  • huxd1532/xserver
  • cgzones/xserver
  • davidre/xserver
  • jsg/xserver
  • zagursky/xserver
  • thesamesam/xserver
  • ashafer/xserver
  • dengbo/xserver
  • josch/xserver
  • denisfa/xserver
  • benpicco/xserver
  • Tuetuopay/xserver
  • tholin/xserver
  • tzimmermann/xserver
  • Sjecai2/xserver
  • tintou/xserver
  • zaps166/xserver
  • schreibemirhalt/xserver
  • tomty89/xserver
  • contactshashanksharma/xserver-fork-shashank
  • os369510/xserver
  • liyi42/xserver
  • Kyawswat/xserver
  • psyruss85/xserver
  • akihiko.odaki/xserver
  • StarsGreen/xserver
  • klniu/xserver
  • pekdon/xserver
  • pkubaj/xserver
  • kerneltoast/xserver
  • wengxt/xserver
  • vanvugt/xserver
  • cbur201592/xserver
  • bkylerussell/xserver
  • wujiangGitHub/xserver
  • frog/xserver
  • bafanahub/xserver
  • Ivaniku/x-taylan
  • bigon/xserver
  • jrtc27/xserver
  • djacewicz/xserver
  • kylin0061/xserver
  • Fatton1/xserver
  • gmbr3/xserver
  • devin11911191/xserver
  • guillem/xserver
  • mahkoh/xserver
  • acelan/xserver
  • dkorkmazturk/xserver
  • olv/xserver
  • SpikyCaterpillar1/xserver
  • lihongtao/xserver
  • luke-jr/xserver
  • karamjameelmoore/xserver
  • mehdigh419/xserver
  • wiz/xserver
  • ecurtin/xserver
  • muesli4/xserver
  • iv-m/xserver
  • ForTheReallys/xserver
  • BBaoVanC/xserver
  • ccullumbine2018/xserver
  • mgorse1/xserver
  • road2react/xserver
  • mwei/xserver
  • Rui511/xserver
  • ThatMG393/xserver
  • haihao/xserver
  • ipominov/xserver
  • tsutsui/xserver
  • fweimer/xserver
  • gilvbp/xserver
  • themaister/xserver
  • bbeckett/xserver
  • TMR5454/xserver
  • erwinou/xserver
  • aarondill/xserver
  • peng.jin/xserver
  • russellcnv/xserver
  • yangxiaojuan-loongson/xserver
  • LiChenG-P/xserver
  • looi/xserver
  • NSUTanghaixiang/xserver
  • XDXTHX/xserver
  • City-busz/xserver
  • arrowd/xserver
  • zzyiwei/xserver
  • dongwonk/xserver
  • EXtremeExploit/xserver
  • luyn/xserver
  • hexiaodong/xserver
  • sewn/xserver
  • cl91/xserver
  • rnpnr/xserver
  • adamdruppe/xserver
  • RyzenDew/xserver
  • jexposit/xserver
  • svalaskevicius/xserver
  • floppym/xserver
  • metux/xserver
  • YusufKhan-gamedev/xserver
  • Drakulix/xserver
  • wjp/xserver
  • dawnhan/xserver
  • noblock/xserver
  • zzag/xserver
  • catap/xserver
  • trevdave/xserver
  • ids1024/xserver
  • gabifalk/xserver
  • Emantor/xserver
  • sknsean/xserver
  • hongaoo/xserver
  • penguin42/xserver
  • heitbaum/xserver
  • fvalasiad/xserver
  • AkiSakurai/xserver
  • chenx_dust/xserver
  • jmonteiro/xserver
  • gldrk/xserver
  • dougg3/xserver
  • pepp/xserver
  • Julia/xserver
  • nathankidd/xserver
  • jannau/xserver
  • zhangyaning/xserver
  • xinbowang/xserver
  • sergiomb/xserver
  • andy-zetier/xserver
  • jayantpranjal0/xserver
  • zzxyb/xserver
  • dkg/xserver
  • GermanAizek/xserver
  • dougvj/xserver
  • volkanorhan/xserver
  • rbernon/xserver
  • matt335672/xserver
  • gfxstrand/xorg-xserver
  • nicolas-guichard/xserver
  • rc_05/xserver
343 results
Show changes
Commits on Source (17)
Showing
with 83 additions and 68 deletions
...@@ -382,7 +382,7 @@ ProcXTestFakeInput(ClientPtr client) ...@@ -382,7 +382,7 @@ ProcXTestFakeInput(ClientPtr client)
if ((flags & POINTER_ABSOLUTE) && firstValuator <= 1 && numValuators > 0) { if ((flags & POINTER_ABSOLUTE) && firstValuator <= 1 && numValuators > 0) {
if (firstValuator == 0) if (firstValuator == 0)
valuators[0] += root->drawable.pScreen->x; valuators[0] += root->drawable.pScreen->x;
if (firstValuator < 2 && firstValuator + numValuators > 1) if (firstValuator + numValuators > 1)
valuators[1 - firstValuator] += root->drawable.pScreen->y; valuators[1 - firstValuator] += root->drawable.pScreen->y;
} }
} }
......
...@@ -150,7 +150,7 @@ def parse_all_matches(node): ...@@ -150,7 +150,7 @@ def parse_all_matches(node):
# walk up to a parent match node # walk up to a parent match node
node = node.parentNode node = node.parentNode
if node == None or not is_match_node(node): if node is None or not is_match_node(node):
break break
# leave if there other options at this level # leave if there other options at this level
...@@ -184,9 +184,6 @@ def parse_fdi(fdi): ...@@ -184,9 +184,6 @@ def parse_fdi(fdi):
# find all <match> leaf nodes # find all <match> leaf nodes
num = 0 num = 0
for match_node in fdi.getElementsByTagName('match'): for match_node in fdi.getElementsByTagName('match'):
children = set([n.tagName for n in match_node.childNodes
if n.nodeType == xml.dom.minidom.Node.ELEMENT_NODE])
# see if there are any options at this level # see if there are any options at this level
(driver, ignore, options) = parse_options(match_node) (driver, ignore, options) = parse_options(match_node)
if not driver and not ignore and not options: if not driver and not ignore and not options:
......
...@@ -365,7 +365,7 @@ CoreEnterLeaveNonLinear(DeviceIntPtr dev, WindowPtr A, WindowPtr B, int mode) ...@@ -365,7 +365,7 @@ CoreEnterLeaveNonLinear(DeviceIntPtr dev, WindowPtr A, WindowPtr B, int mode)
Case 3C: Otherwise: Case 3C: Otherwise:
The pointer window moves from W to a window above W. The pointer window moves from W to a window above W.
The detail may need to be changed from Ancestor to Nonlinear or The detail may need to be changed from Ancestor to Nonlinear or
vice versa depending on the the new P(W) vice versa depending on the new P(W)
*/ */
if (!HasPointer(dev, A)) { if (!HasPointer(dev, A)) {
...@@ -447,7 +447,7 @@ CoreEnterLeaveToAncestor(DeviceIntPtr dev, WindowPtr A, WindowPtr B, int mode) ...@@ -447,7 +447,7 @@ CoreEnterLeaveToAncestor(DeviceIntPtr dev, WindowPtr A, WindowPtr B, int mode)
Case 3C: Otherwise: Case 3C: Otherwise:
The pointer window moves from W to a window above W. The pointer window moves from W to a window above W.
The detail may need to be changed from Ancestor to Nonlinear or The detail may need to be changed from Ancestor to Nonlinear or
vice versa depending on the the new P(W) vice versa depending on the new P(W)
*/ */
if (!HasPointer(dev, A)) { if (!HasPointer(dev, A)) {
WindowPtr child = FirstPointerChild(A); WindowPtr child = FirstPointerChild(A);
...@@ -1053,7 +1053,7 @@ CoreFocusNonLinear(DeviceIntPtr dev, WindowPtr A, WindowPtr B, int mode) ...@@ -1053,7 +1053,7 @@ CoreFocusNonLinear(DeviceIntPtr dev, WindowPtr A, WindowPtr B, int mode)
Case 3C: Otherwise: Case 3C: Otherwise:
The focus window moves from W to a window above W. The focus window moves from W to a window above W.
The detail may need to be changed from Ancestor to Nonlinear or The detail may need to be changed from Ancestor to Nonlinear or
vice versa depending on the the new F(W) vice versa depending on the new F(W)
*/ */
if (!HasFocus(A)) { if (!HasFocus(A)) {
...@@ -1141,7 +1141,7 @@ CoreFocusToAncestor(DeviceIntPtr dev, WindowPtr A, WindowPtr B, int mode) ...@@ -1141,7 +1141,7 @@ CoreFocusToAncestor(DeviceIntPtr dev, WindowPtr A, WindowPtr B, int mode)
Case 3C: Otherwise: Case 3C: Otherwise:
The focus window moves from W to a window above W. The focus window moves from W to a window above W.
The detail may need to be changed from Ancestor to Nonlinear or The detail may need to be changed from Ancestor to Nonlinear or
vice versa depending on the the new F(W) vice versa depending on the new F(W)
*/ */
if (!HasFocus(A)) { if (!HasFocus(A)) {
WindowPtr child = FirstFocusChild(A); WindowPtr child = FirstFocusChild(A);
......
...@@ -87,7 +87,7 @@ exaCreatePixmap_driver(ScreenPtr pScreen, int w, int h, int depth, ...@@ -87,7 +87,7 @@ exaCreatePixmap_driver(ScreenPtr pScreen, int w, int h, int depth,
} }
else { else {
paddedWidth = ((w * bpp + FB_MASK) >> FB_SHIFT) * sizeof(FbBits); paddedWidth = ((w * bpp + FB_MASK) >> FB_SHIFT) * sizeof(FbBits);
if (paddedWidth / 4 > 32767 || h > 32767) if (paddedWidth / 4 > 32767)
return NullPixmap; return NullPixmap;
exaSetFbPitch(pExaScr, pExaPixmap, w, h, bpp); exaSetFbPitch(pExaScr, pExaPixmap, w, h, bpp);
......
...@@ -72,7 +72,7 @@ exaCreatePixmap_mixed(ScreenPtr pScreen, int w, int h, int depth, ...@@ -72,7 +72,7 @@ exaCreatePixmap_mixed(ScreenPtr pScreen, int w, int h, int depth,
bpp = pPixmap->drawable.bitsPerPixel; bpp = pPixmap->drawable.bitsPerPixel;
paddedWidth = ((w * bpp + FB_MASK) >> FB_SHIFT) * sizeof(FbBits); paddedWidth = ((w * bpp + FB_MASK) >> FB_SHIFT) * sizeof(FbBits);
if (paddedWidth / 4 > 32767 || h > 32767) if (paddedWidth / 4 > 32767)
return NullPixmap; return NullPixmap;
/* We will allocate the system pixmap later if needed. */ /* We will allocate the system pixmap later if needed. */
...@@ -326,5 +326,3 @@ exaSetSharedPixmapBacking_mixed(PixmapPtr pPixmap, void *handle) ...@@ -326,5 +326,3 @@ exaSetSharedPixmapBacking_mixed(PixmapPtr pPixmap, void *handle)
return ret; return ret;
} }
...@@ -131,7 +131,6 @@ GlxContextTagInfo *GlxAllocContextTag(ClientPtr client, GlxServerVendor *vendor) ...@@ -131,7 +131,6 @@ GlxContextTagInfo *GlxAllocContextTag(ClientPtr client, GlxServerVendor *vendor)
cl->contextTagCount = newSize; cl->contextTagCount = newSize;
} }
assert(index >= 0);
assert(index < cl->contextTagCount); assert(index < cl->contextTagCount);
memset(&cl->contextTags[index], 0, sizeof(GlxContextTagInfo)); memset(&cl->contextTags[index], 0, sizeof(GlxContextTagInfo));
cl->contextTags[index].tag = (GLXContextTag) (index + 1); cl->contextTags[index].tag = (GLXContextTag) (index + 1);
......
...@@ -369,7 +369,7 @@ KdUseMsg(void) ...@@ -369,7 +369,7 @@ KdUseMsg(void)
ErrorF("-softCursor Force software cursor\n"); ErrorF("-softCursor Force software cursor\n");
ErrorF("-videoTest Start the server, pause momentarily and exit\n"); ErrorF("-videoTest Start the server, pause momentarily and exit\n");
ErrorF ErrorF
("-origin X,Y Locates the next screen in the the virtual screen (Xinerama)\n"); ("-origin X,Y Locates the next screen in the virtual screen (Xinerama)\n");
ErrorF("-switchCmd Command to execute on vt switch\n"); ErrorF("-switchCmd Command to execute on vt switch\n");
ErrorF ErrorF
("vtxx Use virtual terminal xx instead of the next available\n"); ("vtxx Use virtual terminal xx instead of the next available\n");
......
...@@ -1352,9 +1352,6 @@ xf86ValidateModes(ScrnInfoPtr scrp, DisplayModePtr availModes, ...@@ -1352,9 +1352,6 @@ xf86ValidateModes(ScrnInfoPtr scrp, DisplayModePtr availModes,
int saveType; int saveType;
PixmapFormatRec *BankFormat; PixmapFormatRec *BankFormat;
ClockRangePtr cp; ClockRangePtr cp;
int numTimings = 0;
range hsync[MAX_HSYNC];
range vrefresh[MAX_VREFRESH];
Bool inferred_virtual = FALSE; Bool inferred_virtual = FALSE;
DebugF DebugF
...@@ -1394,18 +1391,9 @@ xf86ValidateModes(ScrnInfoPtr scrp, DisplayModePtr availModes, ...@@ -1394,18 +1391,9 @@ xf86ValidateModes(ScrnInfoPtr scrp, DisplayModePtr availModes,
Bool specified = FALSE; Bool specified = FALSE;
if (scrp->monitor->nHsync <= 0) { if (scrp->monitor->nHsync <= 0) {
if (numTimings > 0) { scrp->monitor->hsync[0].lo = 31.5;
scrp->monitor->nHsync = numTimings; scrp->monitor->hsync[0].hi = 48.0;
for (i = 0; i < numTimings; i++) { scrp->monitor->nHsync = 1;
scrp->monitor->hsync[i].lo = hsync[i].lo;
scrp->monitor->hsync[i].hi = hsync[i].hi;
}
}
else {
scrp->monitor->hsync[0].lo = 31.5;
scrp->monitor->hsync[0].hi = 48.0;
scrp->monitor->nHsync = 1;
}
type = "default "; type = "default ";
} }
else { else {
...@@ -1426,18 +1414,9 @@ xf86ValidateModes(ScrnInfoPtr scrp, DisplayModePtr availModes, ...@@ -1426,18 +1414,9 @@ xf86ValidateModes(ScrnInfoPtr scrp, DisplayModePtr availModes,
type = ""; type = "";
if (scrp->monitor->nVrefresh <= 0) { if (scrp->monitor->nVrefresh <= 0) {
if (numTimings > 0) { scrp->monitor->vrefresh[0].lo = 50;
scrp->monitor->nVrefresh = numTimings; scrp->monitor->vrefresh[0].hi = 70;
for (i = 0; i < numTimings; i++) { scrp->monitor->nVrefresh = 1;
scrp->monitor->vrefresh[i].lo = vrefresh[i].lo;
scrp->monitor->vrefresh[i].hi = vrefresh[i].hi;
}
}
else {
scrp->monitor->vrefresh[0].lo = 50;
scrp->monitor->vrefresh[0].hi = 70;
scrp->monitor->nVrefresh = 1;
}
type = "default "; type = "default ";
} }
else { else {
......
...@@ -519,13 +519,13 @@ connector_add_prop(drmModeAtomicReq *req, drmmode_output_private_ptr drmmode_out ...@@ -519,13 +519,13 @@ connector_add_prop(drmModeAtomicReq *req, drmmode_output_private_ptr drmmode_out
} }
static int static int
drmmode_CompareKModes(drmModeModeInfo * kmode, drmModeModeInfo * other) drmmode_CompareKModes(const drmModeModeInfo * kmode, const drmModeModeInfo * other)
{ {
return memcmp(kmode, other, sizeof(*kmode)); return memcmp(kmode, other, sizeof(*kmode));
} }
static int static int
drm_mode_ensure_blob(xf86CrtcPtr crtc, drmModeModeInfo mode_info) drm_mode_ensure_blob(xf86CrtcPtr crtc, const drmModeModeInfo* mode_info)
{ {
modesettingPtr ms = modesettingPTR(crtc->scrn); modesettingPtr ms = modesettingPTR(crtc->scrn);
drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private; drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
...@@ -533,14 +533,14 @@ drm_mode_ensure_blob(xf86CrtcPtr crtc, drmModeModeInfo mode_info) ...@@ -533,14 +533,14 @@ drm_mode_ensure_blob(xf86CrtcPtr crtc, drmModeModeInfo mode_info)
int ret; int ret;
if (drmmode_crtc->current_mode && if (drmmode_crtc->current_mode &&
drmmode_CompareKModes(&drmmode_crtc->current_mode->mode_info, &mode_info) == 0) drmmode_CompareKModes(&drmmode_crtc->current_mode->mode_info, mode_info) == 0)
return 0; return 0;
mode = calloc(sizeof(drmmode_mode_rec), 1); mode = calloc(sizeof(drmmode_mode_rec), 1);
if (!mode) if (!mode)
return -1; return -1;
mode->mode_info = mode_info; mode->mode_info = *mode_info;
ret = drmModeCreatePropertyBlob(ms->fd, ret = drmModeCreatePropertyBlob(ms->fd,
&mode->mode_info, &mode->mode_info,
sizeof(mode->mode_info), sizeof(mode->mode_info),
...@@ -589,7 +589,7 @@ crtc_add_dpms_props(drmModeAtomicReq *req, xf86CrtcPtr crtc, ...@@ -589,7 +589,7 @@ crtc_add_dpms_props(drmModeAtomicReq *req, xf86CrtcPtr crtc,
drmModeModeInfo kmode; drmModeModeInfo kmode;
drmmode_ConvertToKMode(crtc->scrn, &kmode, &crtc->mode); drmmode_ConvertToKMode(crtc->scrn, &kmode, &crtc->mode);
ret |= drm_mode_ensure_blob(crtc, kmode); ret |= drm_mode_ensure_blob(crtc, &kmode);
ret |= crtc_add_prop(req, drmmode_crtc, ret |= crtc_add_prop(req, drmmode_crtc,
DRMMODE_CRTC_ACTIVE, 1); DRMMODE_CRTC_ACTIVE, 1);
......
...@@ -61,6 +61,7 @@ static char consoleDev[PATH_MAX] = "/dev/fb"; ...@@ -61,6 +61,7 @@ static char consoleDev[PATH_MAX] = "/dev/fb";
Used by hw/xfree86/common/xf86AutoConfig.c for VIS_GETIDENTIFIER */ Used by hw/xfree86/common/xf86AutoConfig.c for VIS_GETIDENTIFIER */
_X_HIDDEN char xf86SolarisFbDev[PATH_MAX] = "/dev/fb"; _X_HIDDEN char xf86SolarisFbDev[PATH_MAX] = "/dev/fb";
#ifdef HAS_USL_VTS
static void static void
switch_to(int vt, const char *from) switch_to(int vt, const char *from)
{ {
...@@ -76,6 +77,7 @@ switch_to(int vt, const char *from) ...@@ -76,6 +77,7 @@ switch_to(int vt, const char *from)
xf86Msg(X_WARNING, "%s: VT_WAITACTIVE failed: %s\n", xf86Msg(X_WARNING, "%s: VT_WAITACTIVE failed: %s\n",
from, strerror(errno)); from, strerror(errno));
} }
#endif
void void
xf86OpenConsole(void) xf86OpenConsole(void)
......
...@@ -124,7 +124,7 @@ Flags ...@@ -124,7 +124,7 @@ Flags
Hardware cursor data consists of two pieces, a source and a mask. Hardware cursor data consists of two pieces, a source and a mask.
The mask is a bitmap indicating which parts of the cursor are The mask is a bitmap indicating which parts of the cursor are
transparent and which parts are drawn. The source is a bitmap transparent and which parts are drawn. The source is a bitmap
indicating which parts of the non-transparent portion of the the indicating which parts of the non-transparent portion of the
cursor should be painted in the foreground color and which should cursor should be painted in the foreground color and which should
be painted in the background color. be painted in the background color.
......
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
* modularize it, was basically: 1) no unnecessary subroutine calls, * modularize it, was basically: 1) no unnecessary subroutine calls,
* 2) no routines more than about 200 lines in size, and 3) modularize * 2) no routines more than about 200 lines in size, and 3) modularize
* any code that I might not get right the first time. The fetch_* * any code that I might not get right the first time. The fetch_*
* subroutines fall into the latter category. The The decode_* fall * subroutines fall into the latter category. The decode_* fall
* into the second category. The coding of the "switch(mod){ .... }" * into the second category. The coding of the "switch(mod){ .... }"
* in many of the subroutines below falls into the first category. * in many of the subroutines below falls into the first category.
* Especially, the coding of {add,and,or,sub,...}_{byte,word} * Especially, the coding of {add,and,or,sub,...}_{byte,word}
......
...@@ -2622,8 +2622,8 @@ ins(int size) ...@@ -2622,8 +2622,8 @@ ins(int size)
store_data_long_abs(M.x86.R_ES, M.x86.R_DI, store_data_long_abs(M.x86.R_ES, M.x86.R_DI,
(*sys_inl) (M.x86.R_DX)); (*sys_inl) (M.x86.R_DX));
M.x86.R_DI += inc; M.x86.R_DI += inc;
break;
} }
break;
} }
M.x86.R_CX = 0; M.x86.R_CX = 0;
if (M.x86.mode & SYSMODE_PREFIX_DATA) { if (M.x86.mode & SYSMODE_PREFIX_DATA) {
...@@ -2688,8 +2688,8 @@ outs(int size) ...@@ -2688,8 +2688,8 @@ outs(int size)
(*sys_outl) (M.x86.R_DX, (*sys_outl) (M.x86.R_DX,
fetch_data_long_abs(M.x86.R_ES, M.x86.R_SI)); fetch_data_long_abs(M.x86.R_ES, M.x86.R_SI));
M.x86.R_SI += inc; M.x86.R_SI += inc;
break;
} }
break;
} }
M.x86.R_CX = 0; M.x86.R_CX = 0;
if (M.x86.mode & SYSMODE_PREFIX_DATA) { if (M.x86.mode & SYSMODE_PREFIX_DATA) {
......
...@@ -309,7 +309,7 @@ development of ...@@ -309,7 +309,7 @@ development of
.PP .PP
Since Since
.B Xnest .B Xnest
need not use the same default visual as the the real server, the top-level need not use the same default visual as the real server, the top-level
window of the window of the
.B Xnest .B Xnest
client always has its own color map. client always has its own color map.
......
...@@ -73,10 +73,10 @@ Enable syncing between the OSX pasteboard and clipboard/primary selection buffer ...@@ -73,10 +73,10 @@ Enable syncing between the OSX pasteboard and clipboard/primary selection buffer
Update the X11 CLIPBOARD when the OSX NSPasteboard is updated. Update the X11 CLIPBOARD when the OSX NSPasteboard is updated.
.TP 8 .TP 8
.B defaults write @bundle_id_prefix@.X11 sync_pasteboard_to_primary -boolean true .B defaults write @bundle_id_prefix@.X11 sync_pasteboard_to_primary -boolean true
Update the the X11 PRIMARY buffer when the OSX NSPasteboard is updated. Update the X11 PRIMARY buffer when the OSX NSPasteboard is updated.
.TP 8 .TP 8
.B defaults write @bundle_id_prefix@.X11 sync_clipboard_to_pasteboard -boolean true .B defaults write @bundle_id_prefix@.X11 sync_clipboard_to_pasteboard -boolean true
Update the the OSX NSPasteboard when the X11 CLIPBOARD is updated. Note that enabling this option causes the clipboard synchronization to act as a clipboard manager in X11. This makes it impossible to use xclipboard, klipper, or any other such clipboard managers. If you want to use any of these programs, you must disable this option. Update the OSX NSPasteboard when the X11 CLIPBOARD is updated. Note that enabling this option causes the clipboard synchronization to act as a clipboard manager in X11. This makes it impossible to use xclipboard, klipper, or any other such clipboard managers. If you want to use any of these programs, you must disable this option.
.TP 8 .TP 8
.B defaults write @bundle_id_prefix@.X11 sync_primary_on_select -boolean true .B defaults write @bundle_id_prefix@.X11 sync_primary_on_select -boolean true
This option defaults to false and is provided only "for experts." It updates the NSPasteboard whenever a new X11 selection is made (rather than requiring you to hit cmd-c to copy the selection to the NSPasteboard). Since the X11 protocol does not require applications to send notification when they change selection, this might not work in all cases (if you run into this problem, try selecting text in another application first, then selecting the text you want). This option defaults to false and is provided only "for experts." It updates the NSPasteboard whenever a new X11 selection is made (rather than requiring you to hit cmd-c to copy the selection to the NSPasteboard). Since the X11 protocol does not require applications to send notification when they change selection, this might not work in all cases (if you run into this problem, try selecting text in another application first, then selecting the text you want).
......
...@@ -386,7 +386,8 @@ static void ...@@ -386,7 +386,8 @@ static void
drm_lease_device_handle_released(void *data, drm_lease_device_handle_released(void *data,
struct wp_drm_lease_device_v1 *wp_drm_lease_device_v1) struct wp_drm_lease_device_v1 *wp_drm_lease_device_v1)
{ {
xwl_screen_destroy_drm_lease_device(data, wp_drm_lease_device_v1); struct xwl_drm_lease_device *lease_device = data;
xwl_screen_destroy_drm_lease_device(lease_device->xwl_screen, wp_drm_lease_device_v1);
} }
static void static void
......
...@@ -720,6 +720,27 @@ static const struct zxdg_output_v1_listener xdg_output_listener = { ...@@ -720,6 +720,27 @@ static const struct zxdg_output_v1_listener xdg_output_listener = {
xdg_output_handle_description, xdg_output_handle_description,
}; };
#define XRANDR_EMULATION_PROP "RANDR Emulation"
static Atom
get_rand_emulation_property(void)
{
const char *emulStr = XRANDR_EMULATION_PROP;
return MakeAtom(emulStr, strlen(emulStr), TRUE);
}
static void
xwl_output_set_emulated(struct xwl_output *xwl_output)
{
int32_t val = TRUE;
RRChangeOutputProperty(xwl_output->randr_output,
get_rand_emulation_property(),
XA_INTEGER,
32, PropModeReplace, 1,
&val, FALSE, FALSE);
}
struct xwl_output * struct xwl_output *
xwl_output_create(struct xwl_screen *xwl_screen, uint32_t id) xwl_output_create(struct xwl_screen *xwl_screen, uint32_t id)
{ {
...@@ -758,6 +779,7 @@ xwl_output_create(struct xwl_screen *xwl_screen, uint32_t id) ...@@ -758,6 +779,7 @@ xwl_output_create(struct xwl_screen *xwl_screen, uint32_t id)
ErrorF("Failed creating RandR Output\n"); ErrorF("Failed creating RandR Output\n");
goto err; goto err;
} }
xwl_output_set_emulated(xwl_output);
RRCrtcGammaSetSize(xwl_output->randr_crtc, 256); RRCrtcGammaSetSize(xwl_output->randr_crtc, 256);
RROutputSetCrtcs(xwl_output->randr_output, &xwl_output->randr_crtc, 1); RROutputSetCrtcs(xwl_output->randr_output, &xwl_output->randr_crtc, 1);
...@@ -896,6 +918,10 @@ xwl_randr_output_set_property(ScreenPtr pScreen, ...@@ -896,6 +918,10 @@ xwl_randr_output_set_property(ScreenPtr pScreen,
Atom property, Atom property,
RRPropertyValuePtr value) RRPropertyValuePtr value)
{ {
/* RANDR Emulation property is read-only. */
if (get_rand_emulation_property() == property)
return FALSE;
return TRUE; return TRUE;
} }
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
# MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. # MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
import sys, time, pdb, string, cProfile import sys
from reg import * from reg import *
# Default input / log files # Default input / log files
......
...@@ -1134,7 +1134,7 @@ glxWinSetPixelFormat(HDC hdc, int bppOverride, int drawableTypeOverride, ...@@ -1134,7 +1134,7 @@ glxWinSetPixelFormat(HDC hdc, int bppOverride, int drawableTypeOverride,
winConfig->pixelFormatIndex); winConfig->pixelFormatIndex);
/* /*
Normally, we can just use the the pixelFormatIndex corresponding Normally, we can just use the pixelFormatIndex corresponding
to the fbconfig which has been specified by the client to the fbconfig which has been specified by the client
*/ */
......
...@@ -461,20 +461,12 @@ rrGetPixmapSharingSyncProp(int numOutputs, RROutputPtr * outputs) ...@@ -461,20 +461,12 @@ rrGetPixmapSharingSyncProp(int numOutputs, RROutputPtr * outputs)
for (o = 0; o < numOutputs; o++) { for (o = 0; o < numOutputs; o++) {
RRPropertyValuePtr val; RRPropertyValuePtr val;
/* Try pending value first, then current value */
if ((val = RRGetOutputProperty(outputs[o], syncProp, TRUE)) && if ((val = RRGetOutputProperty(outputs[o], syncProp, TRUE)) &&
val->data) { val->data) {
if (!(*(char *) val->data)) if (!(*(char *) val->data))
return FALSE; return FALSE;
continue; continue;
} }
if ((val = RRGetOutputProperty(outputs[o], syncProp, FALSE)) &&
val->data) {
if (!(*(char *) val->data))
return FALSE;
continue;
}
} }
return TRUE; return TRUE;
...@@ -717,6 +709,25 @@ rrCheckPixmapBounding(ScreenPtr pScreen, ...@@ -717,6 +709,25 @@ rrCheckPixmapBounding(ScreenPtr pScreen,
return TRUE; return TRUE;
} }
#define XRANDR_EMULATION_PROP "RANDR Emulation"
static Bool
rrCheckEmulated(RROutputPtr output)
{
const char *emulStr = XRANDR_EMULATION_PROP;
Atom emulProp;
RRPropertyValuePtr val;
emulProp = MakeAtom(emulStr, strlen(emulStr), FALSE);
if (emulProp == None)
return FALSE;
val = RRGetOutputProperty(output, emulProp, TRUE);
if (val && val->data)
return !!val->data;
return FALSE;
}
/* /*
* Request that the Crtc be reconfigured * Request that the Crtc be reconfigured
*/ */
...@@ -736,9 +747,11 @@ RRCrtcSet(RRCrtcPtr crtc, ...@@ -736,9 +747,11 @@ RRCrtcSet(RRCrtcPtr crtc,
crtcChanged = FALSE; crtcChanged = FALSE;
for (o = 0; o < numOutputs; o++) { for (o = 0; o < numOutputs; o++) {
if (outputs[o] && outputs[o]->crtc != crtc) { if (outputs[o]) {
crtcChanged = TRUE; if (rrCheckEmulated(outputs[o]) || (outputs[o]->crtc != crtc)) {
break; crtcChanged = TRUE;
break;
}
} }
} }
......