Under Georgia law, a judgment entered by a court without jurisdiction is void, Carpenter v. Carpenter, 276 Ga. 746, 747 (1) (583 SE2d 852) (2003), and generally speaking, such a judgment “may be attacked in any court, by any person, at any time.” James v. Intown Ventures, 290 Ga. 813, 816 (2), n. 5 (725 SE2d 213) (2012). See also Cabrel v. Lum, 289 Ga. 233, 235 (1) (710 SE2d 810) (2011) (“[A] judgment void for lack of personal or subject-matter jurisdiction may be attacked at any time.”). But in some circumstances, these principles must yield to competing principles that derive from the compelling public interest in the finality and certainty of judgments, see Abushmais v. Erby, 282 Ga. 619, 622 (3) (652 SE2d 549) (2007), an interest that is especially compelling with respect to judgments *340affecting familial relations. See Amerson v. Vandiver, 285 Ga. 49, 50 (673 SE2d 850) (2009). In this case, the court below dismissed a petition for custody of a child, reasoning that the petitioner lacks standing to seek custody because the adoption decree under which she claims to be a parent of the child is void. Whether the adoption decree is void, however, is a question that was litigated and effectively decided in a prior proceeding, and we conclude that the principle of res judicata precludes the relitigation of that question in this case. Accordingly, we reverse and remand for further proceedings on the custody petition.
Nicole Ann Bates conceived a child by artificial insemination, and in March 2007, she gave birth to that child. At the time, Nicole wanted her same-sex partner, Tina Diane Bates, also to be a parent to the child, and so Nicole and Tina filed a petition with the Superior Court of Fulton County for Tina to adopt the child. The Fulton County court granted that petition in June 2007, entering a decree that purports to recognize Tina as the adoptive “second parent” of the child.1 About three years later, Nicole returned to the Fulton County court, where she filed a motion to set aside the adoption decree. By then, Nicole and Tina had ended their relationship, and Nicole apparently no longer wanted Tina to be a parent to the child.
In her motion to set aside the adoption decree, Nicole argued that Georgia law makes no provision for a “second parent” adoption, that the Fulton County court was without jurisdiction to decree such an adoption, and that the adoption decree is, for these reasons, void. The Fulton County court, however, denied the motion as untimely, citing OCGA § 19-8-18 (e), which provides that “[a] decree of adoption issued pursuant to [OCGA § 19-8-18 (b)] shall not be subject to any judicial challenge filed more than six months after the date of entry of such decree.” Nicole sought discretionary review of that decision in this Court, and although we granted her application for discretionary review at first, we later dismissed her appeal as having been improvidently granted. Nicole then petitioned our Supreme Court for a writ of certiorari, but her petition was denied.
In the meantime, Tina had filed a petition with the Superior Court of Henry County for custody of the child, and the Henry County court had stayed its proceedings on the custody petition until the *341motion to set aside the adoption decree was resolved. After the Supreme Court denied the petition for a writ of certiorari on the denial of the motion to set aside, Nicole moved the Henry County court to dismiss the custody petition. In her motion to dismiss, Nicole argued that the adoption decree under which Tina claimed to be a parent of the child is void — for the same reasons that Nicole had urged in support of her motion to set aside in Fulton County — and that Tina, therefore, is without standing to seek custody of the child. Tina responded that the denial of the motion to set aside in Fulton County is conclusive as to the validity of the adoption decree and that both Tina and Nicole are bound by the judgment of the Fulton County court.
Following a hearing, the Henry County court granted the motion to dismiss, reasoning that Georgia law does not recognize “second parent” adoptions, that the adoption decree is, therefore, void, and that Tina, for this reason, is a stranger to the child in the eyes of the law.2 The court found that the denial of the motion to set aside in Fulton County was not conclusive of whether Tina has standing to seek custody because the question of custody was not before the Fulton County court. Tina appeals from the dismissal of her custody petition.
The idea that Georgia law permits a “second parent” adoption is a doubtful one,3 see Wheeler v. Wheeler, 281 Ga. 838, 840 (642 SE2d *342103) (2007) (Carley, J., dissenting from denial of cert.), and the arguments that Nicole presses about the validity of a decree that purports to recognize such an adoption might well have some merit. But Nicole made a choice to challenge the adoption decree by way of a motion to set aside in Fulton County, and she had a full and fair opportunity to litigate the issue there. Although the Fulton County court ultimately denied her motion to set aside as untimely, the application of the time bar set out in OCGA § 19-8-18 (e) presupposes that the adoption was one authorized by, and entered in accordance with, OCGA § 19-8-18 (b). See OCGA § 19-8-18 (e) (“A decree of adoption issued pursuant to subsection (b) of this Code section shall not be subject to any judicial challenge filed more than six months after the date of entry of such decree”) (emphasis supplied). So, although the Fulton County court decided the motion to set aside on the basis of a statutory time bar, its decision necessarily included a determination that the adoption was one authorized by the Georgia statutes. Right or wrong, that decision was a final determination of the validity of the adoption decree, and it is, we think, conclusive of that question as between Tina and Nicole.
“Generally speaking, the doctrine of res judicata forbids the litigation of a dispute that already has been litigated by the same parties and decided.” Canton Partners v. Scarbrough Group, 316 Ga. App. 57, 60 (2) (728 SE2d 733) (2012). See also OCGA § 9-12-40 (“A judgment of a court of competent jurisdiction shall be conclusive between the same parties and their privies as to all matters put in issue or which under the rules of law might have been put in issue in the cause wherein the judgment was rendered until the judgment is reversed or set aside.”). As our Supreme Court has explained, res judicata requires “identity of the cause of action, identity of the parties or their privies, and a previous adjudication on the merits by a court of competent jurisdiction.” Crowe v. Elder, 290 Ga. 686, 688 (723 SE2d 428) (2012). In addition, it requires that “the party against whom the doctrine of res judicata is raised [had] a full and fair opportunity to litigate the issues in the first action.” Fowler v. Vineyard, 261 Ga. 454, 455-456 (1) (405 SE2d 678) (1991) (citations omitted). Whether or not the Fulton County court properly had jurisdiction of the question of adoption when it entered its adoption decree, it certainly was competent to entertain the motion to set aside that decree and to decide, in connection with that motion, whether it *343had jurisdiction when it entered the decree. See OCGA § 9-11-60 (d) (1) (“A motion to set aside may be brought to set aside a judgment based upon . . . [l]ack of jurisdiction over the person or the subject matter. . . .”).
As we noted earlier, a void judgment, generally speaking, can be attacked at any time, Cabrel, 289 Ga. at 235 (1), but that principle has limits, as our Supreme Court has acknowledged. Bennett v. State, 268 Ga. 849, 850 (494 SE2d 330) (1998). Among those limits is the doctrine of res judicata; even though an allegedly void judgment may be attacked at any time, once it has been attacked and the attack repelled, the same party cannot thereafter attack the judgment again and again on the same grounds. See Ross v. State, 310 Ga. App. 326, 328 (713 SE2d 438) (2011) (“[W]hile Ross is correct in noting that a void sentence is a mere nullity and may be vacated at any time in any court where it becomes material to the interest of the parties to consider it, this important legal principle is, nevertheless, subject to the equally well established principles of res judicata and the law-of-the-case rule once the issue has been raised and ruled upon.”) (footnotes omitted). And a decision on a motion to set aside an allegedly void judgment may properly form the basis for an application of res judicata, so long as the essential requirements for the application of that doctrine are satisfied. See, e.g., State Bar of Ga. v. Beazley, 256 Ga. 561, 563 (1) (a) (350 SE2d 422) (1986) (affording preclusive effect under res judicata to federal court rejection of claim that earlier state court judgment was void for want of jurisdiction).
Here, no one disputes that the same parties were before the Fulton County court on the motion to set aside and the Henry County court on the petition for custody, and no one disputes that Nicole had a full and fair opportunity to litigate the validity of the adoption decree on her motion to set aside. Those prerequisites to the application of res judicata are, therefore, clearly satisfied. Nicole argues, however, that the question of custody was not put to the Fulton County court,4 and the Fulton County court was without jurisdiction to decide any question of custody in any event. These things are true enough, but Tina never has contended that the Fulton County judgment is conclusive of all the issues that relate to custody.
To the contrary, Tina argues only that the Fulton County judgment is conclusive of the validity of the adoption decree and, hence, her standing to petition for custody. About this, we think Tina is exactly right. The validity of the adoption decree was put at issue in *344Fulton County on the motion to set aside — indeed, Nicole made precisely the same arguments there about the validity of the decree as she later made in Henry County — and the Fulton County court decided the motion was time barred, a decision that, as we have explained, necessarily involved a determination by the Fulton County court that the adoption was one authorized by the statutes. And as we also have explained, the Fulton County court was competent to entertain the motion to set aside and to consider whether it properly had jurisdiction when it entered the adoption decree. Its denial of the motion to set aside is, we think, conclusive of the question of standing in the Henry County case. See OCGA § 19-8-19 (a) (2) (valid decree of adoption “creates the relationship of parent and child between each petitioner and the adopted individual, as if the adopted individual were a child of biological issue of that petitioner”).
Decided July 11, 2012 Reconsideration denied July 31, 2012We decide nothing in this case about whether Georgia law permits a “second parent” adoption. The earlier judgment in Fulton County addressed that question, but the Fulton County judgment is not before us today. We decide only that the Fulton County judgment is res judicata as to the validity of the adoption decree at issue here, and the Henry County court was not entitled to revisit the validity of the decree, at least not upon a challenge to that decree that is premised on the same grounds that Nicole pressed unsuccessfully in Fulton County. Accordingly, we reverse the judgment below and remand for further proceedings on the petition for custody consistent with this opinion.5
Judgment reversed and case remanded.
Mikell, P. J., and Miller, J., concur. King & Spalding, Merritt E. McAlister, Steven S. Griffin, Meadows & Made, Terri S. Sutton, for appellant. Emily J. Matson, for appellee.A “second parent” adoption apparently is an adoption of a child having only one living parent, in which that parent retains all of her parental rights and consents to some other person —• often her spouse, partner, or friend — adopting the child as a “second parent.” See Butler v. Adoption Media, 486 FSupp.2d 1022, 1044 (C) (1) (b) (i) (N.D. Cal. 2007) (describing “second parent” adoption under California law). As we explain later, whether Georgia law permits such adoptions, other than by stepparents, is questionable.
The Henry County court also found that it was without jurisdiction to entertain the custody petition because the Georgia Constitution, the court said, “sets out that the courts of this State shall not have jurisdiction to grant, consider, or rule on any rights flowing from a same-sex relationship.” The court was referring, of course, to the constitutional provision that “[t]he courts of this state shall have no jurisdiction to ... consider or rule on any of the parties’ respective rights arising as a result of or in connection with [a relationship between persons of the same sex].” Ga. Const., Art. I, Sec. IV, Par. I (b). That provision, however, pretty clearly does not apply here. The parental right to seek custody that Tina asserts in her custody petition is a right that arises, if at all, by virtue of the Fulton County adoption decree, not as an incident of her relationship with Nicole, a relationship with no legal significance. No doubt, Tina and Nicole may have been motivated to petition for adoption as a result of their relationship with one another, but such a motivation does not strip the courts of jurisdiction. After all, the existence of a relationship between two persons of the same sex might motivate them to do a lot of things — to open joint accounts, to acquire and own property jointly, and to contract with one another — and no one would seriously contend that the Constitution strips the courts of jurisdiction to decide disputes about such things just because the parties to those disputes once were involved in a same-sex relationship. The petition for custody does not ask the Henry County court to “consider or rule on any . . . rights arising as a result of or in connection with [a relationship between persons of the same sex].” We note that Nicole does not even attempt on appeal to defend this alternative basis for the decision below.
In some circumstances, Georgia law permits stepparent adoptions, in which the living parent maintains her parental rights and consents to the adoption of her child by her spouse. See OCGA § 19-8-6 (a) (2). But “[m]arriages between persons of the same sex are prohibited in this state,” OCGA § 19-3-3.1 (a), and so Tina cannot claim that her adoption of the child was a *342stepparent adoption. Because we conclude that the doctrine of res judicata is dispositive of this appeal, we have no occasion in this case to decide whether Georgia law otherwise permits “second parent” adoptions.
This is the reason given by the court below for its refusal to apply the doctrine of res judicata.
Some of us wonder if the doctrine of judicial estoppel might also preclude Nicole from contending that the Fulton County decree is void. That doctrine is intended to “protect the integrity of the judicial process by prohibiting parties from deliberately changing positions according to the exigencies of the moment,” and it forbids a party, who has successfully maintained a certain position in a legal proceeding, to assume a contrary position “simply because his interests have changed ... especially if it he to the prejudice of the party who has acquiesced in the position formerly taken by him.” Goddard v. City of Albany, 285 Ga. 882, 885 (2) (684 SE2d 635) (2009) (citation and punctuation omitted). In the original proceedings on the petition for adoption, Nicole not only affirmatively invoked the jurisdiction of the Fulton County court, but her own lawyer prepared the decree that she now contends is void. To some of us, it seems that the present attack upon the validity of that decree amounts to an attempt to play the courts for fools, and that is the sort of thing that judges ought not tolerate. Nevertheless, because res judicata is sufficient to dispose of this appeal, we do not reach the question of judicial estoppel.